2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  C語言課程設(shè)計</b></p><p>  專 業(yè): </p><p>  班 級: </p><p>  學(xué) 號: </p><p>  姓 名:

2、 </p><p>  日 期: </p><p>  鏈表基本綜合操作(簡單學(xué)生管理系統(tǒng))</p><p><b>  1. 系統(tǒng)需求分析</b></p><p>  在日常生活中,學(xué)生管理系統(tǒng)系統(tǒng)的應(yīng)用無處不在。學(xué)生成績管理系統(tǒng)是對學(xué)生基本信息及成績的管理。本程

3、序是綜合利用鏈表的基礎(chǔ)知識來編寫一個簡單的學(xué)生管理系統(tǒng),功能包括建立、顯示、查詢、刪除以及退出功能。 </p><p>  學(xué)生管理系統(tǒng)首先需要通過函數(shù)建立儲存學(xué)生信息的鏈表,其中學(xué)生信息包括學(xué)號、姓名、成績,這就需要建立包括上述信息的結(jié)構(gòu)體。當(dāng)然只建立儲存學(xué)生信息的鏈表是不夠的,因此需要一個輸出函數(shù)來把鏈表里儲存的學(xué)生信息按照一定的格式顯示出來。本系統(tǒng)還要求輸入一個學(xué)號即可檢索出該學(xué)生的有關(guān)信息并且檢索用函數(shù)實

4、現(xiàn),故該系統(tǒng)需要編寫查找學(xué)生信息的子函數(shù)。系統(tǒng)要求從鏈表中刪除成績低于50分的學(xué)生并且刪除節(jié)點用函數(shù)實現(xiàn),所以該系統(tǒng)又需編寫刪除子函數(shù)。</p><p><b>  2. 系統(tǒng)總體設(shè)計</b></p><p>  2.1 功能模塊設(shè)計</p><p>  該系統(tǒng)根據(jù)需求共設(shè)有四個模塊,即創(chuàng)建學(xué)生信息模塊、顯示學(xué)生信息模塊、刪除低于50分的學(xué)生的

5、學(xué)生信息模塊和查詢學(xué)生信息模塊。該系統(tǒng)具體模塊關(guān)系如下圖所示:</p><p>  輸入學(xué)生信息模塊主要是將用戶根據(jù)提示輸入的學(xué)生信息儲存在建立的鏈表之中,是最主要的子函數(shù)。</p><p>  顯示學(xué)生信息模塊是將通過輸入學(xué)生信息模塊輸入鏈表中的學(xué)生信息在系統(tǒng)界面中顯示出來。</p><p>  查詢學(xué)生信息模塊是將通過輸入學(xué)生信息模塊輸入鏈表中的學(xué)生信息在用戶輸

6、入所要查詢的學(xué)生學(xué)號后將相應(yīng)的學(xué)生信息顯示在系統(tǒng)界面中。</p><p>  刪除學(xué)生信息模塊是將通過輸入學(xué)生信息模塊輸入鏈表中的學(xué)生信息中成績低于50分的學(xué)生信息在鏈表中刪除并且提示用戶刪除完畢。</p><p><b>  2.2程序處理流程</b></p><p>  該系統(tǒng)的程序處理是通過主函數(shù)調(diào)用子函數(shù)來實現(xiàn)的。主函數(shù)中通過switc

7、h----case來調(diào)用子函數(shù),具體如下:</p><p><b>  Case1 :</b></p><p>  調(diào)用輸入學(xué)生信息模塊,來完成鏈表的建立進而完成學(xué)生信息的輸入。</p><p><b>  Case2 :</b></p><p>  調(diào)用顯示學(xué)生信息模塊,來完成學(xué)生信息在系統(tǒng)界面中

8、的顯示。</p><p><b>  Case3 :</b></p><p>  調(diào)用查詢學(xué)生信息模塊,來完成用戶查詢學(xué)生信息的功能。</p><p><b>  Case4 :</b></p><p>  調(diào)用刪除學(xué)生信息模塊,來完成用戶刪除成績低于50分的學(xué)生的學(xué)生信息的需求。</p>

9、;<p><b>  Case5 :</b></p><p><b>  退出系統(tǒng)。</b></p><p>  模塊之間的接口,即模塊之間傳遞的信息如下:</p><p>  創(chuàng)建鏈表的子函數(shù):NODE *Creat(int n)</p><p>  函數(shù)入口的參數(shù)為用戶在主函數(shù)中輸

10、入的所有的學(xué)生人數(shù),函數(shù)返回值為NODE類型的指針。</p><p>  顯示學(xué)生信息的子函數(shù):void Out(NODE *head)</p><p>  函數(shù)入口的參數(shù)為1)中返回的NODE類型的指針,該函數(shù)無返回值。</p><p>  查詢學(xué)生信息的子函數(shù):void Search(NODE **head, long num)</p><p

11、>  函數(shù)入口的參數(shù)為指向NODE類型指針的指針以及所要查詢的學(xué)生信息的學(xué)號,該函數(shù)無返回值。</p><p>  刪除低于50分的子函數(shù):void Del(NODE **head,int n)</p><p>  函數(shù)入口的參數(shù)為指向NODE類型指針的指針以及所要刪除的分?jǐn)?shù)(在此系統(tǒng)中該參數(shù)默認(rèn)為50),該函數(shù)無返回值。</p><p>  3.系統(tǒng)詳細(xì)設(shè)計

12、與實現(xiàn)</p><p><b>  3.1預(yù)處理</b></p><p>  該系統(tǒng)的頭文件為 #include<stdio.h> 和 #include<stdlib.h> 。宏定義為#define MAX 25和 #define SCORE 50 。其中MAX為儲存學(xué)生姓名的字符數(shù)組的大小,SCORE代表所要刪除的的學(xué)生信息是50分以下的。這

13、樣編寫的目的是提高程序的通用性和易讀性,減少不一致性,減少輸入錯誤和便于修改。</p><p><b>  3.2數(shù)據(jù)結(jié)構(gòu)定義</b></p><p><b>  數(shù)據(jù)結(jié)構(gòu)定義如下:</b></p><p>  struct STU</p><p><b>  {</b><

14、;/p><p>  char name[MAX]; /*每個學(xué)生的姓名*/</p><p>  long number; /*每個學(xué)生的學(xué)號*/</p><p>  float score; /*每個學(xué)生的成績*/</p><p><b>  };</b></p&g

15、t;<p>  struct node /*建立一個結(jié)構(gòu)體作為鏈表的節(jié)點用來存儲學(xué)生信息*/</p><p><b>  {</b></p><p>  struct STU data;</p><p>  struct node *next;</p><p><

16、b>  };</b></p><p>  typedef struct node NODE;</p><p>  其中結(jié)構(gòu)體STU用來儲存學(xué)生信息,包括學(xué)生的學(xué)號、姓名及成績。NODE為鏈表的節(jié)點。</p><p>  3.3函數(shù)及變量聲明</p><p>  1)創(chuàng)建鏈表的子函數(shù):NODE *Creat(int n)<

17、;/p><p>  在此函數(shù)中所定義的變量為: </p><p>  struct STU one; 定義此STU類型的結(jié)構(gòu)體目的是儲存每個輸入的學(xué)生的學(xué)生信息。</p><p>  int num=0; 定義此整型變量目的是統(tǒng)計以輸入的學(xué)生人數(shù)。</p><p>  NODE *pNew,*pCur; 定義此NODE類型的指針目的是用 pNew

18、 指向?qū)⒂脩糨斎朐趕truct STU one 中的學(xué)生信息,再通過pCur=pNew; 語句來完成鏈表的創(chuàng)立。</p><p>  NODE *head=NULL;定義此NODE類型的指針并且指向NULL目的是確保鏈表的頭指針為空。</p><p>  2)顯示學(xué)生信息的子函數(shù):void Out(NODE *head)</p><p>  在此函數(shù)中所定義的變量為

19、:</p><p>  NODE *pCur=head; 定義此NODE類型的指針目的是將指針指向以創(chuàng)建好的鏈表以便在此函數(shù)中完成顯示學(xué)生信息的功能。將其初始化為head 是為了不遺漏任何一人的學(xué)生信息。</p><p>  3)刪除低于50分的子函數(shù):void Del(NODE **head,int n)</p><p>  在此函數(shù)中所定義的變量為:</p

20、><p>  int flag=1;定義此標(biāo)志量目的是在指針移動至鏈表末尾后flag=0; 以便退出循環(huán)。</p><p>  NODE *p, *a;定義此NODE類型的指針目的是為了確保刪除無誤。</p><p>  a=p=*head; 將其初始化為head 是為了不遺漏任何一人的學(xué)生信息。</p><p>  4)查詢學(xué)生信息的子函數(shù):v

21、oid Search(NODE **head, long num)</p><p>  在此函數(shù)中所定義的變量為:</p><p>  NODE *p; 定義此NODE類型的指針的目的是將其作為一個查詢用的指針來逐個查詢,以防遺漏。</p><p>  p=*head; 將p初始化,即指向已有鏈表的第一項,目的是從第一個學(xué)生開始查詢。</p><

22、p>  3.4主函數(shù)、主函數(shù)處理函數(shù)、輔助函數(shù)的設(shè)計</p><p><b>  主函數(shù)源代碼如下:</b></p><p>  int main()</p><p><b>  {</b></p><p>  int n,i,p,flag=1; /*通

23、過flag的值來控制是否退出循環(huán)*/</p><p><b>  long m;</b></p><p>  NODE *head;</p><p>  while(flag)</p><p><b>  {</b></p><p>  printf("******

24、**************************************************************************\n"); /*界面在主函數(shù)中顯示*/</p><p>  printf("***************************歡迎使用學(xué)生管理系統(tǒng)*********************************\n");&

25、lt;/p><p>  printf("1 Create students' information\n2 Output information\n3 Search information\n4 Delete students under 50\n5 Quit\n\n"); /* 在界面中顯示功能模塊代號 */</p><p&

26、gt;  scanf("%d",&p); /* 用戶輸入所需功能模塊代號 */</p><p><b>  switch(p)</b></p><p><b>  {</b></p><p>  case 1:

27、 /* 調(diào)用信息輸入模塊 */</p><p>  printf("Please input how many students?\n"); </p><p>  scanf("%d",&n); /* 用戶輸入學(xué)生人數(shù) */</p><p>  head=Creat(

28、n);</p><p><b>  break;</b></p><p>  case 2: /* 調(diào)用信息輸出模塊 */</p><p>  Out(head);</p><p><b>  break;</b></p>

29、<p>  case 3: /* 調(diào)用信息查找模塊 */</p><p>  printf("The student you want to find is:\n");</p><p>  scanf("%ld",&m); /

30、* 用戶輸入所要查詢學(xué)生學(xué)號 */</p><p>  Search(&head,m);</p><p><b>  break;</b></p><p>  case 4: /* 調(diào)用信息刪除模塊 */</p><p>  Del(&head,SCORE)

31、;</p><p><b>  break;</b></p><p>  case 5: /* 退出程序功能 */</p><p>  printf("Goodbye!歡迎使用");</p><p><b>  flag=0;</b&g

32、t;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  re

33、turn 0;</b></p><p><b>  }</b></p><p><b>  3.5系統(tǒng)實現(xiàn)</b></p><p><b>  系統(tǒng)主界面</b></p><p>  輸入學(xué)生信息模塊功能實現(xiàn)截圖</p><p>  顯示學(xué)生

34、信息模塊功能實現(xiàn)截圖</p><p>  查詢學(xué)生信息模塊功能實現(xiàn)截圖</p><p>  刪除低于50分以下學(xué)生信息功能實現(xiàn)截圖</p><p>  刪除后再次顯示學(xué)生信息截圖</p><p>  退出系統(tǒng)功能實現(xiàn)截圖</p><p>  結(jié)論(系統(tǒng)存在的問題)</p><p>  該系統(tǒng)程序

溫馨提示

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

評論

0/150

提交評論