c語言課程設計--學生選課系統(tǒng)管理_第1頁
已閱讀1頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  C語言程序設計</b></p><p><b>  課程設計</b></p><p>  學生姓名: </p><p>  學 號: </p><p>

2、;  系 (院): </p><p>  專 業(yè): </p><p>  設計(論文)題目:   學生選課系統(tǒng)管理  </p><p>  完成日期: 2012年6月 </p>&

3、lt;p>  指導教師: </p><p><b>  目錄</b></p><p><b>  一、實驗目的</b></p><p><b>  二、實驗內容</b></p><p><b>  三

4、、總體設計</b></p><p><b>  四、詳細設計</b></p><p><b>  五、運行結果</b></p><p><b>  六、課程設計體會</b></p><p><b>  一、實驗目的:</b></p>

5、<p>  通過課程設計,加深對結構化程序設計思想的理解,能對系統(tǒng)功能進行分析,并設計合理的模塊化結構。</p><p>  通過課程設計,進一步掌握C有并重要的數據結構。掌握并熟練運用指針、鏈表、結構體、文件等數據結構。</p><p>  通過課程設計,提高程序開發(fā)能力,能運用合理的控制流編寫清晰高效的程序。</p><p>  通過課程設計,培養(yǎng)

6、C語言知識運用和自學能力,真正的把課堂上獲得的知識運用起來,培養(yǎng)自己對程序編寫的興趣,并能獨立設計和實現一個中小型系統(tǒng)。</p><p>  5. 通過課程設計,加強了自己的程序分析能力。</p><p><b>  二、實驗內容:</b></p><p>  學生選修課程系統(tǒng)設計</p><p>  假定有n門

7、課程,每門課程有課程編號、課程名稱、課程性質、總學時、授課學時、實驗或上機學時、學分、開課學期等信息,學生可按要求(如總學分不得少于60)自由選課。</p><p><b>  1、要求:</b></p><p>  試設計一個選修課程系統(tǒng),使之能提供以下功能:</p><p>  系統(tǒng)以菜單方式工作。</p><p>

8、  課程信息和學生選課信息輸入功能(課程信息用文件保存)——入。</p><p>  課程信息瀏覽功能——輸出。</p><p>  查詢功能(至少一種查詢方式)——算法。</p><p><b>  按學分查詢。</b></p><p> ?。?)某門課程學生選修情況(可選項)。</p><p>

9、;<b>  2、分析:</b></p><p>  由于題目要求將學生的選課信息用結構體形式輸入,并寫入文件中,所以應提供文件的輸入輸出等操作:在過程中需有瀏覽、插入、修改、查找、刪除學生選課信息等操作,顧應分別建立個功能模塊;另外還應提供鍵盤式選擇菜單實現程序運行。</p><p><b>  3、總體設計:</b></p>&

10、lt;p>  根據題目要求,可以將系統(tǒng)分為六個模塊:</p><p>  系統(tǒng)以菜單方式工作模塊;</p><p>  課程信息與學生選課信息錄入功能模塊;</p><p>  課程信息瀏覽功能模塊;</p><p><b>  查詢模塊;</b></p><p><b>  按學

11、分查詢模塊;</b></p><p>  某些課程學生選修情況模塊。</p><p><b>  三、總體設計</b></p><p>  1。本系統(tǒng)的功能如圖一所示</p><p>  功能:調用各個主要模塊,實現選課系統(tǒng)的整體功能。</p><p><b>  2.輸入函

12、數 </b></p><p>  功能:提供用戶輸入窗口,用戶輸入數據,用數據文件的形式保存所有的課程信息。</p><p><b>  3.顯示函數 </b></p><p>  功能:提供用戶輸入窗口,顯示用戶輸入系部的全部課程信息。</p><p>  4 查詢函數 </p>

13、<p>  功能:顯示滿足用戶輸入學分的所有課程信息;</p><p>  5 查詢函數 </p><p>  功能:顯示滿足用戶輸入課程性質的所有課程信息;</p><p><b>  6 查詢函數 </b></p><p>  功能:顯示用戶輸入課程名的所有課程信息;</p><

14、;p>  7 選課函數 </p><p>  功能:提供選課界面供學生選課,用文件保存學生輸入的信息;</p><p><b>  詳細設計</b></p><p><b>  如圖2為選擇模塊圖</b></p><p>  功能:提供選課界面供學生選課,用文件保存學生輸入的信息<

15、/p><p><b>  { </b></p><p>  int courseCode; //課程編號</p><p>  char courseName[20]; //課程名稱</p><p>  char courseType[10]; //課程性

16、質</p><p>  int totalperiod; //總學時</p><p>  int classperiod; //授課學時</p><p>  int experiperiod; //實驗或上機學時</p><p>  float creditH

17、our; //學分</p><p>  int term; //開課學期</p><p>  struct subjects *next;//next是指針變量,指向結構體變量,鏈表</p><p><b>  }SUB;</b></p><p><b>  錄入課程信息:

18、</b></p><p>  SUB *create_form() //創(chuàng)建鏈表 </p><p><b>  {</b></p><p>  SUB *head,*tail,*p;//定義結構體指針變量</p><p>  int courseCode,totalperiod,classp

19、eriod;</p><p>  int experiperiod,term;</p><p>  float creditHour;</p><p>  char courseName[20],courseType[10];</p><p>  int size=sizeof(SUB);</p><p>  head

20、=tail=NULL;//將空地址賦給頭指針,鏈表中無結點</p><p>  printf("輸入選修課程信息:\n");</p><p><b>  }</b></p><p><b>  查詢方式:</b></p><p>  switch(a)//多分支選擇語句</

21、p><p><b>  {</b></p><p>  case 1:printf("請輸入要查找的課程的名稱:");</p><p>  scanf("%s",min);</p><p>  printf("課程編號 課程名稱 課程性質 總學時 授課學時 實踐或上

22、機學時 學分 開課學期\n");</p><p>  for(ptr=head;ptr;ptr=ptr->next)</p><p>  if(strcmp(min,ptr->courseName)==0)//比較查找課程和結構體成員編號是否相同</p><p>  t=0;//如果相同,輸出課程信息</p><p>

23、;<b>  if(t) </b></p><p>  printf("\t\n未找到!\n");</p><p><b>  t=1;</b></p><p>  system("pause");</p><p>  goto L1;//指定跳轉到l1,程序

24、將處理從下一行開始的命令</p><p>  case 2:printf("請輸入要查找的課程的性質:");</p><p>  scanf("%s",type);</p><p>  for(ptr=head;ptr;ptr=ptr->next)</p><p>  if(strcmp(type

25、,ptr->courseType)==0)</p><p><b>  {</b></p><p>  printf("%5d%12s%9s%9d%9d%11d%11.6f%7d\n",ptr->courseCode,ptr->courseName,ptr->courseType,ptr->totalperiod,pt

26、r->classperiod,ptr->experiperiod,ptr->creditHour,ptr->term);</p><p><b>  t=0;</b></p><p><b>  }</b></p><p><b>  if(t) </b></p>

27、<p>  printf("\t\n未找到!\n");</p><p><b>  t=1;</b></p><p>  system("pause");</p><p><b>  goto L1;</b></p><p>  case 3:pr

28、intf("輸入要查找的課程的學分:");</p><p>  scanf("%d",&courseCode);</p><p>  printf("課程編號 課程名稱 課程性質 總學時 授課學時 實踐或上機學時 學分 開課學期\n");</p><p>  for(ptr=head;

29、ptr;ptr=ptr->next)</p><p>  if(ptr->creditHour==courseCode)</p><p><b>  {</b></p><p>  printf("%5d%12s%9s%9d%9d%11d%11.6f%7d\n",ptr->courseCode,ptr-&g

30、t;courseName,ptr->courseType,ptr->totalperiod,ptr->classperiod,ptr->experiperiod,ptr->creditHour,ptr->term);</p><p><b>  t=0;</b></p><p><b>  }</b></

31、p><p><b>  if(t) </b></p><p>  printf("\n\t未找到!\n");</p><p><b>  t=1;</b></p><p>  system("pause");</p><p><b&g

32、t;  goto L1;</b></p><p>  case 4:break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  返回主菜單</b></p><p><b>

33、;  五、運行結果:</b></p><p><b>  六、課程設計體會:</b></p><p>  回顧起此次課程設計,至今我仍感慨頗多,的確,在這些日子,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。雖然我的這個課程設計有很多缺陷,但是我以后會一直改進直到它能比較完善的工作。以后我會更努力的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論