<object id="61p7e"></object>
  • <object id="61p7e"></object>

    1. 淘豆網
      1/19
      0/100
      您的瀏覽器不支持進度條
      更多>>該用戶其他文檔
      下載所得到的文件列表
      C語言課程設計報告(學生通訊錄管理系統設計).doc
      文檔介紹:
      課程設計報告
      (本科)
      課程:
      高級語言程序設計
      學號:
      1310411031
      姓名:
      秦錢軍
      班級:
      2013級計算機科學與技術
      教師:
      馮鳳
      時間:
      2014年1月
      計算機科學與技術系
      設計名稱:
      學生通訊錄管理系統設計
      設計內容、目的與要求:
      設計內容:設計一個學生通訊錄,學生通訊錄數據信息構成內容可自行設計(如:姓名、家庭地址、郵政編碼、電話號碼等等),通訊錄數據類型定義為結構類型。
      目的與要求:
      設計學生通訊錄
      1.主要功能:(1)能建立、修改和增減學生通訊錄
      (2)能夠多種方式進行查詢
      2.要求:界面友好,易于操作,采用文件存儲數據。
      計劃與進度安排:
      12月20日至12月22日:研究題目的要求及所給條件,綜合分析實驗應該達到的目標,探討實驗需要使用的方法和解決此問題的實際情況,圖書館查閱相關資料,綜合比較;
      12月23日至12月25日:設計解題的方法和具體步驟,并進行分步思考,利用主菜單函數menu()將程序模塊化,在進行各個模塊的設計和制作方案,繪制實驗的流程圖,再將各個模塊綜合,將各個函數運用于主函數中,繪制主函數的流程圖,綜合運用所有的函數;
      12月26日至12月31日:查閱書籍,仔細研究書本上的例題,再結合網絡資料,結合各方面所得的資料,編寫程序,仔細修改程序;
      1月1日至1月2日:調試程序,運行程序,再次將程序修改;
      1月3日至1月5日:完善程序,仔細填寫課程設計報告,再次認真閱讀程序并熟悉程序,為驗收做最后的準備。
      設計過程、步驟(可加頁):
      整個程序主要使用了結構體類型,結構體類型充當了整個程序的骨架,將各個程序段有機巧妙的結合在一起。例如:
      struct student //聲明一個結構體類型 struct student
      {
      long num; //學號
      char name[20]; //姓名
      int banji; //班級
      char tel[11]; //號碼
      char Email[20]; //郵箱
      int sushe; // 宿舍
      struct student *next; // next是指針變量,指向結構體變量
      };
      整個系統必須有一個主函數,為了盡量提高程序的易修改性,且不至于相互干擾,將每一個功能分成不同的模塊,用不同的函數來實現,例如在我寫的這個程序中,一共用了9個函數,分別是:
      主菜單函數 void menu(void);
      輸入函數 struct student *shuru(void);
      輸出單個學生信息函數 void shuchu(struct student *s);
      輸出所有學生信息函數 void findall();
      按姓名查找函數 void findname();
      按學號查找函數 void findnum();
      刪除函數 struct student *stushanchu(struct student *stu);
      排序函數 void paixu();
      主函數 void main(),
      這樣在整個程序的設計過程中也就一目了然,寫起來也相對輕松了不少。
      下面是摘自源程序的主函數:
      void main() /*主函數*/
      {
      char a;
      menu();
      puts("\n您為首次使用本系統,建議您按1開始錄入學生信息,");
      a=getche();
      while(a){
      puts("");
      switch(a)
      {
      case'0':goto end;break;
      case '1':
      puts("\n好了,您可以開始向本系統錄入學生通訊錄信息了:");
      stu=shuru();
      system("cls");
      menu();
      puts("\n學生信息錄入完畢,請輸入你的選擇(0~6):\n");
      break;
      case '2':findall();puts("\n請輸入你的選擇(0~6):"); break;
      case '3':findname();puts("\n請輸入你的選擇(0~6):"); break;
      case '4':findnum();puts("\n請輸入你的選擇(0~6):"); break;
      case '5':stu=shanchu(stu);puts("\n請輸入你的選擇(0~6):"); break;
      case '6':paixu();puts("\n請輸入你的選擇(0~6):"); break;


      default:puts("輸錯了!按數字1鍵錄入學生信息吧!"); break;
      }
      a=getche();
      }
      end:;
      puts("謝謝您使用本系統,歡迎再次使用!");
      }
      結果與分析(可以加頁):
      主界面:
      按1錄入學生通訊錄信息:
      按2查看所有學生信息:
      按3按姓名查找學生信息:
      按4按學號查找學生信息:
      按5刪除學生信息:
      刪除后:
      按6將通訊錄信息排序:
      按0退出:
      程序已實現對學生信息的錄入、按姓名查詢、按學號查詢和刪減,唯一的不足之處是沒能實現對學生信息的修改。
      設計體會與建議:
      課程設計是培養學生綜合運用所學知識,發現,提出,分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發展的日新月異,當今計算機應用在是生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握計算機開發技術十分重要的。
      具體的各個函數是參照課本上《鏈表》那一章的內容的,比如結構體的建立、查找和排序等功能,這些書上都有類似的,例如在第六章中有一個用冒泡法排序的例題,我就是仿照這個模式來對結構體進行排序的。
      回顧起此次課程設計,至今我仍感慨頗多,的確,從從拿到題目到完成整個編程,從理論到實踐,在整整半個學期的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,比如說結構體……通過這次課程設計之后,一定把以前所學過的知識重新溫顧。
      在課程設計過程中,我學到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現這個計劃,并掌握了在執行過程中怎么樣去克服心理上的不良情緒,黑夜過去了,我們收獲的是黎明。在本次實踐中,給我印象最為深刻的是在文件刪除程序的編譯過程中,先有我的各個子程序都已經編輯成功,那么這最后的程序就將是我成功的關 內容來自淘豆網www.pl383.com轉載請標明出處.
      夜生活交友