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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 成 果 報(bào) 告</p><p>  題 目: 學(xué)生成績(jī)管理系統(tǒng)</p><p>  課 程: 程序設(shè)計(jì)基礎(chǔ)</p><p>  院 (部): 管理工程學(xué)院</p><p>  專 業(yè): 信息管理與信息系統(tǒng)</p><p&

2、gt;  班 級(jí): 信管121</p><p>  學(xué)生姓名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  完成日期: </p><p><b>  目錄</b></p>

3、<p><b>  1 設(shè)計(jì)目的1</b></p><p>  2 設(shè)計(jì)任務(wù)內(nèi)容1</p><p>  3 系統(tǒng)總體設(shè)計(jì)2</p><p>  4 系統(tǒng)詳細(xì)設(shè)計(jì)4</p><p>  4.1 結(jié)構(gòu)體模塊4</p><p>  4.2 輸入模塊4</p><

4、p>  4.3 計(jì)算平均值模塊5</p><p><b>  4.4顯示模塊6</b></p><p><b>  4.5排序模塊6</b></p><p><b>  4.6插入模塊7</b></p><p>  4.7 刪除模塊8</p>&l

5、t;p><b>  4.8查詢模塊9</b></p><p>  4.8.1 按姓名查詢9</p><p>  4.8.2 按學(xué)號(hào)查詢9</p><p>  4.9修改模塊10</p><p>  5 調(diào)試與測(cè)試12</p><p>  6 課程設(shè)計(jì)心得與體會(huì)15</p&g

6、t;<p><b>  7 參考文獻(xiàn)15</b></p><p><b>  8 附錄16</b></p><p><b>  1 設(shè)計(jì)目的</b></p><p>  本課程設(shè)計(jì)是信息管理與信息系統(tǒng)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《程序設(shè)計(jì)基礎(chǔ)》課程后進(jìn)行的一次全面的綜合練

7、習(xí)。本課程設(shè)計(jì)的目的和任務(wù):</p><p>  1、鞏固和加深學(xué)生對(duì)C語言課程的基本知識(shí)的理解和掌握;</p><p>  2、掌握C語言編程和程序調(diào)試的基本技能;</p><p>  3、利用C語言進(jìn)行基本的軟件設(shè)計(jì);</p><p>  4、掌握書寫程序設(shè)計(jì)說明文檔的能力;</p><p>  5、提高運(yùn)用C語言

8、解決實(shí)際問題的能力。</p><p><b>  2 設(shè)計(jì)任務(wù)內(nèi)容</b></p><p>  學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)</p><p>  學(xué)生成績(jī)相關(guān)信息包括:學(xué)號(hào)、姓名、班級(jí)、數(shù)學(xué)成績(jī)、英語成績(jī)、計(jì)算機(jī)成績(jī)等(學(xué)號(hào)唯一),總成績(jī)。</p><p>  系統(tǒng)要求實(shí)現(xiàn)如下功能:</p><p>  

9、1)系統(tǒng)功能以菜單方式工作;</p><p>  2)數(shù)據(jù)的添加:從鍵盤輸入數(shù)據(jù)存放到結(jié)構(gòu)體數(shù)組中;</p><p>  3)數(shù)據(jù)的插入:從指定位置插入一條記錄;</p><p>  4)數(shù)據(jù)的輸出:在屏幕上顯示出所添加的數(shù)據(jù);</p><p>  5)數(shù)據(jù)的刪除:從指定位置刪除一條記錄;</p><p>  6)數(shù)據(jù)

10、的查找,通常以兩種方式進(jìn)行查找,如姓名、記錄號(hào)(或?qū)W號(hào)、職工號(hào)等);</p><p><b>  7)數(shù)據(jù)的排序;</b></p><p><b>  8)退出系統(tǒng)。</b></p><p>  以上每個(gè)內(nèi)容需要通過單獨(dú)的函數(shù)來實(shí)現(xiàn),數(shù)據(jù)以結(jié)構(gòu)體數(shù)組的形式組織。</p><p><b> 

11、 3 系統(tǒng)總體設(shè)計(jì)</b></p><p>  本系統(tǒng)可以實(shí)現(xiàn)以下功能:</p><p>  用結(jié)構(gòu)體輸入姓名,學(xué)號(hào),性別,英語,高數(shù),c語言成績(jī)。</p><p>  使用菜單控制整個(gè)程序。</p><p>  顯示按任意鍵返回主菜單。</p><p><b>  界面較直觀。</b>

12、;</p><p>  顯示輸入的所有成員信息。</p><p>  使用函數(shù)計(jì)算出三門成績(jī)的平均分,并按每個(gè)成員的平均分用從高到底排序。</p><p><b>  添加信息。</b></p><p>  輸入要?jiǎng)h除學(xué)生成績(jī)的學(xué)號(hào),按回車,刪除。</p><p>  輸入要修改學(xué)生成績(jī)的姓名,按

13、回車,修改。</p><p>  輸入學(xué)號(hào)或是姓名,按回車,進(jìn)行查詢。</p><p><b>  退出功能。</b></p><p>  以下是制作的系統(tǒng)流程圖:</p><p><b>  4 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1 結(jié)構(gòu)體模塊

14、</b></p><p>  struct student</p><p><b>  {</b></p><p><b>  int no;</b></p><p>  char name[20];</p><p>  char sex[4];</p>

15、;<p>  float english;</p><p>  float math;</p><p>  float computer;</p><p>  float sort;</p><p>  float ave;</p><p>  float sum;</p><p>

16、;<b>  };</b></p><p>  struct student stu[MAX],*p;</p><p>  使用結(jié)構(gòu)體定義一組成員,并且成員的上限個(gè)數(shù),可以由編程者自由控制(#define MAX 80</p><p><b> ?。?;</b></p><p><b>  

17、4.2 輸入模塊</b></p><p>  void input()/*原始數(shù)據(jù)錄入模塊*/</p><p><b>  {</b></p><p><b>  int i=0;</b></p><p><b>  char ch;</b></p>

18、<p><b>  do</b></p><p><b>  {</b></p><p>  printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1);</p><p>  printf("\n輸入學(xué)生學(xué)號(hào):");</p>&

19、lt;p>  scanf("%d",&stu[i].no);</p><p>  fflush(stdin);</p><p>  printf("\n輸入學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(stu[i].name);</

20、p><p>  printf("\n輸入學(xué)生性別:");</p><p>  fflush(stdin);</p><p>  gets(stu[i].sex);</p><p>  printf("\n輸入學(xué)生英語:");</p><p>  fflush(stdin);</

21、p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].english);</p><p>  if(stu[now_no].english>=0&&s

22、tu[now_no].english<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n

23、輸入學(xué)生高數(shù):");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].math);</p&g

24、t;<p>  if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }

25、</b></p><p>  printf("\n輸入學(xué)生c語言:");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  sc

26、anf("%f",&stu[now_no].computer);</p><p>  if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b>  break;</b></p><p>  else printf(

27、"請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n\n");</p><p><b>  i++;</b></p><p><b>  now_no=i;</b><

28、;/p><p>  printf("是否繼續(xù)輸入?(Y/N)");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  system("cls");</p><p><b>  }</b><

29、/p><p>  while(ch!='n'&&ch!='N');</p><p>  system("cls");</p><p><b>  }</b></p><p>  該函數(shù)中使用了fflush(stdin);語句,用于用來清空輸入緩存,以便不影響

30、后面輸入的東西。防止數(shù)據(jù)的緩沖使學(xué)生數(shù)據(jù)出現(xiàn)錯(cuò)誤。</p><p>  使用死循環(huán)語句控制輸進(jìn)的數(shù)在0-100之間,否則則輸出錯(cuò)誤。</p><p>  4.3 計(jì)算平均值模塊</p><p>  void average()/*求平均數(shù)*/</p><p><b>  {</b></p><p>

31、;<b>  int i;</b></p><p>  for(i=0;i<now_no;i++)</p><p><b>  {</b></p><p>  stu[i].sum=stu[i].english+stu[i].math+stu[i].computer;</p><p>  st

32、u[i].ave=stu[i].sum/3;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.4顯示模塊</b></p><p>  void display()/*顯示數(shù)據(jù)函數(shù)*/</p><

33、p><b>  {</b></p><p><b>  int i;</b></p><p><b>  char as;</b></p><p>  average();</p><p><b>  do</b></p><p&

34、gt;<b>  {</b></p><p>  printf("\t\t\t班級(jí)學(xué)生信息列表\n");</p><p>  printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p>  for(i=0;i<now_no&&stu[i].

35、name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p>  printf("\t\t按任意鍵返回主菜單.");<

36、/p><p>  fflush(stdin);</p><p>  as=getchar();</p><p><b>  }</b></p><p>  while(!as);</p><p>  system("cls");</p><p><b&

37、gt;  }</b></p><p>  定義as以控制按任意鍵退出功能;</p><p>  每一列的數(shù)據(jù)實(shí)現(xiàn)對(duì)齊,美觀</p><p><b>  4.5排序模塊</b></p><p>  void sort()/*排序數(shù)據(jù)函數(shù)*/</p><p><b>  {<

38、;/b></p><p>  struct student temp;</p><p><b>  int i,j;</b></p><p>  average();</p><p>  for(i=1;i<now_no;i++)</p><p><b>  {</b&

39、gt;</p><p>  for(j=1;j<=now_no-i;j++)</p><p><b>  {</b></p><p>  if(stu[j-1].ave<stu[j].ave)</p><p><b>  {</b></p><p>  temp=

40、stu[j];</p><p>  stu[j]=stu[j-1];</p><p>  stu[j-1]=temp;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p&g

41、t;<p>  display();</p><p>  調(diào)用計(jì)算平均值函數(shù),用于計(jì)算每個(gè)成員三門成績(jī)的平均值。</p><p>  調(diào)用顯示模塊,用于顯示排序后的結(jié)果。</p><p>  使用循環(huán)語句進(jìn)行對(duì)比,排序,交換</p><p><b>  4.6插入模塊</b></p><

42、p>  void insert()/*插入數(shù)據(jù)函數(shù)*/</p><p><b>  {</b></p><p><b>  char ch;</b></p><p><b>  do</b></p><p><b>  {</b></p>

43、<p>  printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p>  printf("\n輸入學(xué)生學(xué)號(hào):");</p><p>  scanf("%d",&stu[now_no].no);</p><p>  fflush(stdin);</p>&l

44、t;p>  printf("\n輸入學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(stu[now_no].name);</p><p>  printf("\n輸入學(xué)生性別:");</p><p>  fflush(stdin);</p&g

45、t;<p>  gets(stu[now_no].sex);</p><p>  printf("\n輸入學(xué)生英語:");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b>

46、</p><p>  scanf("%f",&stu[now_no].english);</p><p>  if(stu[now_no].english>=0&&stu[now_no].english<=100)</p><p><b>  break;</b></p>&

47、lt;p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生高數(shù):");</p><p>  fflush(stdin);</p><p><b>  whil

48、e(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].math);</p><p>  if(stu[now_no].math>=0&&stu[now_no].math<=100)</p>&

49、lt;p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生c語言:");</p><p>  f

50、flush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].english);</p><p>  if(stu[now_no].comput

51、er>=0&&stu[now_no].computer<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p&

52、gt;  printf("\n\n");</p><p>  now_no=now_no+1;</p><p><b>  sort();</b></p><p>  printf("是否繼續(xù)輸入?(Y/N)");</p><p>  fflush(stdin);</p>

53、;<p>  ch=getchar();</p><p>  system("cls");</p><p><b>  }</b></p><p>  while(ch!='n'&&ch!='N');</p><p><b>  

54、}</b></p><p><b>  4.7 刪除模塊</b></p><p>  void del()/*刪除數(shù)據(jù)函數(shù)*/</p><p><b>  {</b></p><p>  int inum,i;</p><p>  printf("輸入要

55、刪除學(xué)生的學(xué)號(hào):");</p><p>  fflush(stdin);</p><p>  scanf("%d",&inum);</p><p>  for(i=0;i<now_no;i++)</p><p><b>  {</b></p><p> 

56、 if(stu[i].no==inum)</p><p><b>  {</b></p><p>  if(i==now_no)now_no-=1;</p><p><b>  else</b></p><p><b>  {</b></p><p> 

57、 stu[i]=stu[now_no-1];</p><p>  now_no-=1;</p><p><b>  }</b></p><p><b>  sort();</b></p><p><b>  break;</b></p><p><

58、b>  }</b></p><p><b>  }</b></p><p>  printf("刪除成功!!\n");</p><p><b>  }</b></p><p><b>  4.8查詢模塊</b></p><

59、;p>  4.8.1 按姓名查詢</p><p>  void find()/*按姓名查詢函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  char str[20],as;</p><p><b

60、>  do</b></p><p><b>  {</b></p><p>  printf("輸入要查詢的學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(str);</p><p>  for(i=0;i&l

61、t;now_no;i++)</p><p>  if(!strcmp(stu[i].name,str))</p><p><b>  {</b></p><p>  printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p>  printf("\

62、t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p><b>  }</b></p><p>  printf("\t\t按任意鍵返

63、回主菜單.");</p><p>  fflush(stdin);</p><p>  as=getchar();</p><p><b>  }</b></p><p>  while(!as);</p><p>  system("cls");</p>

64、<p><b>  }</b></p><p>  4.8.2 按學(xué)號(hào)查詢</p><p>  void lookup()/*按學(xué)號(hào)查詢函數(shù)*/</p><p><b>  {</b></p><p><b>  int i,t;</b></p>&

65、lt;p><b>  char as;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("輸入要查詢的學(xué)生學(xué)號(hào):");</p><p>  fflush(stdin);<

66、/p><p>  scanf("%d",&t);</p><p>  for(i=0;i<now_no;i++)</p><p>  if(stu[i].no==t)</p><p><b>  {</b></p><p>  printf("\t學(xué)號(hào)\t姓

67、名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p>  printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p&

68、gt;<b>  }</b></p><p>  printf("\t\t按任意鍵返回主菜單.");</p><p>  fflush(stdin);</p><p>  as=getchar();</p><p><b>  }</b></p><p>

69、  while(!as);</p><p>  system("cls");</p><p><b>  }</b></p><p><b>  4.9修改模塊</b></p><p>  void modify()/*修改數(shù)據(jù)函數(shù)*/</p><p>&

70、lt;b>  {</b></p><p><b>  int i;</b></p><p>  char str[20],as;</p><p>  printf("輸入要修改的學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>

71、;  gets(str);</p><p>  for(i=0;i<now_no;i++)</p><p>  if(!strcmp(stu[i].name,str))</p><p><b>  {</b></p><p>  system("cls");</p><p&g

72、t;  printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p>  printf("\n輸入學(xué)生學(xué)號(hào):");</p><p>  fflush(stdin);</p><p>  scanf("%d",&stu[i].no);</p><p>  print

73、f("\n輸入學(xué)生性別:");</p><p>  fflush(stdin);</p><p>  gets(stu[i].sex);</p><p>  printf("\n輸入學(xué)生英語:");</p><p>  fflush(stdin);</p><p><b&g

74、t;  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].english);</p><p>  if(stu[now_no].english>=0&&stu[now_no].english<=

75、100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生高數(shù):");</p&g

76、t;<p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].math);</p><p>  if(stu[n

77、ow_no].math>=0&&stu[now_no].math<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p>&

78、lt;p>  printf("\n輸入學(xué)生c語言:");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&

79、stu[now_no].computer);</p><p>  if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n&qu

80、ot;);</p><p><b>  }</b></p><p>  printf("\n\n");</p><p><b>  sort();</b></p><p><b>  break;</b></p><p><b&

81、gt;  }</b></p><p><b>  else</b></p><p>  printf("查無此人!!");</p><p>  printf("\t\t按任意鍵返回主菜單.");</p><p>  as=getchar();</p>&l

82、t;p>  while(!as);</p><p>  system("cls");</p><p><b>  }</b></p><p><b>  5 調(diào)試與測(cè)試</b></p><p><b>  主界面</b></p><

83、p><b>  錄入學(xué)生成績(jī)</b></p><p><b>  顯示所有學(xué)生成績(jī)</b></p><p><b>  按平均分排序</b></p><p><b>  添加信息</b></p><p><b>  按學(xué)號(hào)查詢學(xué)生成績(jī)<

84、;/b></p><p><b>  退出程序</b></p><p>  6 課程設(shè)計(jì)心得與體會(huì)</p><p><b>  個(gè)人心得:</b></p><p>  做之前最好有一個(gè)框架,上面的流程圖就是我想實(shí)現(xiàn)的功能及具體的界面,當(dāng)然這些工作最好是在紙上實(shí)現(xiàn)。</p><

85、;p>  除了流程圖之外,還必須將你要使用的函數(shù)名,變量名,一一做以記錄。</p><p>  確定了結(jié)構(gòu)體之后,再將每個(gè)函數(shù)一一寫出。</p><p>  最關(guān)鍵的步驟在于函數(shù)之間的整合、聯(lián)系。都依賴與菜單這一功能。在菜單功能是現(xiàn)實(shí)需要實(shí)現(xiàn)循環(huán)功能,以保證每一個(gè)函數(shù)都能使用。</p><p>  做事一個(gè)要有規(guī)劃,一蹴而就,必然失敗!!!</p>

86、<p><b>  多討論,多思考。</b></p><p>  遇到的問題及解決方法</p><p>  沒能實(shí)現(xiàn)菜單循環(huán)使用;</p><p>  解決辦法:1)使用循環(huán)語句,及switch語句,讓用戶自由選擇,最后使用case 0:system("exit");exit(0);語句,參考資料于百度搜索。&

87、lt;/p><p>  后來想到另外的想法,比如讓整個(gè)菜單在一個(gè)循環(huán)中實(shí)現(xiàn)。讓菜單另作一個(gè)函數(shù)使用,當(dāng)輸入0時(shí),則運(yùn)行break;讓循環(huán)退出;</p><p>  各個(gè)函數(shù)之間的調(diào)用存在的問題</p><p>  基于流程圖,這個(gè)問題得到很大的解決。</p><p><b>  7 參考文獻(xiàn)</b></p>&

88、lt;p>  譚浩強(qiáng). C語言程序設(shè)計(jì)實(shí)用教程【M】.北京 機(jī)械工業(yè)出版社 2002</p><p><b>  8 附錄</b></p><p>  #include <time.h></p><p>  #include<stdio.h></p><p>  #include<co

89、nio.h></p><p>  #include <stdlib.h></p><p>  #include<string.h></p><p>  #define MAX 80</p><p>  void input();</p><p>  void sort();</p&g

90、t;<p>  void display();</p><p>  void insert();</p><p>  void del();</p><p>  void average();</p><p>  void find();</p><p>  void lookup();</p>

91、;<p>  void average();</p><p>  void modify();</p><p>  int now_no=0;</p><p>  struct student</p><p><b>  {</b></p><p><b>  int no

92、;</b></p><p>  char name[20];</p><p>  char sex[4];</p><p>  float english;</p><p>  float math;</p><p>  float computer;</p><p>  float

93、 sort;</p><p>  float ave;</p><p>  float sum;</p><p><b>  };</b></p><p>  struct student stu[MAX],*p;</p><p>  void main()/*主函數(shù)*/</p>&

94、lt;p><b>  {</b></p><p><b>  int as;</b></p><p>  start: printf("\n\t\t\t歡迎使用學(xué)生管理系統(tǒng)\n");</p><p>  /*一下為功能選擇模塊*/</p><p><b>  do

95、</b></p><p><b>  {</b></p><p>  printf(" \t -------------<<歡迎您使用學(xué)生成績(jī)管理系統(tǒng)>>------------\n");</p><p>  printf(" \t -------------------

96、----------------制作人:信管121 莊之軒 20120216039");</p><p>  printf(" \t********************************************************\n");</p><p>  printf(" \t* 1、

97、輸入學(xué)生成績(jī) *\n");</p><p>  printf(" \t* 2、顯示全部學(xué)生成績(jī) *\n");</p><p>  printf(" \t* 3、排序信息

98、 *\n");</p><p>  printf(" \t* 4、添加學(xué)生信息 *\n");</p><p>  printf(" \t* 5、刪除學(xué)生成績(jī) *\n");<

99、/p><p>  printf(" \t* 6、修改學(xué)生信息 *\n");</p><p>  printf(" \t* 7、按姓名查詢學(xué)生信息 *\n");</p><p>  prin

100、tf(" \t* 8、按學(xué)號(hào)查詢學(xué)生信息 *\n");</p><p>  printf(" \t* 0、退出本系統(tǒng) *\n");</p><p>  printf(" \t********

101、************************************************\n");</p><p>  printf("請(qǐng)你選擇操作(0-8):");</p><p>  fflush(stdin);</p><p>  scanf("%d",&as);</p><

102、p>  switch(as)</p><p><b>  {</b></p><p>  case 1:system("cls");input();break;</p><p>  case 2:system("cls");display();break;</p><p> 

103、 case 3:system("cls");sort();break;</p><p>  case 4:system("cls");insert();break;</p><p>  case 5:system("cls");del();break;</p><p>  case 6:system(&qu

104、ot;cls");modify();break;</p><p>  case 7:system("cls");find();break;</p><p>  case 8:system("cls");lookup();break;</p><p>  case 0:system("exit");

105、exit(0);</p><p>  default:system("cls");goto start;</p><p><b>  }</b></p><p>  }while(1);</p><p>  /*至此功能選擇結(jié)束*/</p><p><b>  }&l

106、t;/b></p><p>  void input()/*原始數(shù)據(jù)錄入模塊*/</p><p><b>  {</b></p><p><b>  int i=0;</b></p><p><b>  char ch;</b></p><p>&

107、lt;b>  do</b></p><p><b>  {</b></p><p>  printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1);</p><p>  printf("\n輸入學(xué)生學(xué)號(hào):");</p><p>  

108、scanf("%d",&stu[i].no);</p><p>  fflush(stdin);</p><p>  printf("\n輸入學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(stu[i].name);</p><

109、;p>  printf("\n輸入學(xué)生性別:");</p><p>  fflush(stdin);</p><p>  gets(stu[i].sex);</p><p>  printf("\n輸入學(xué)生英語:");</p><p>  fflush(stdin);</p><

110、;p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].english);</p><p>  if(stu[now_no].english>=0&&stu[now_no]

111、.english<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生高數(shù):&qu

112、ot;);</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].math);</p><p&

113、gt;  if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b>

114、</p><p>  printf("\n輸入學(xué)生c語言:");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("

115、%f",&stu[now_no].computer);</p><p>  if(stu[now_no].computer>=0&&stu[now_no].computer<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0

116、-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n\n");</p><p><b>  i++;</b></p><p><b>  now_no=i;</b></p>&

117、lt;p>  printf("是否繼續(xù)輸入?(Y/N)");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p>  system("cls");</p><p><b>  }</b></p>&l

118、t;p>  while(ch!='n'&&ch!='N');</p><p>  system("cls");</p><p><b>  }</b></p><p>  void sort()/*排序數(shù)據(jù)函數(shù)*/</p><p><b>

119、;  {</b></p><p>  struct student temp;</p><p><b>  int i,j;</b></p><p>  average();</p><p>  for(i=1;i<now_no;i++)</p><p><b>  {

120、</b></p><p>  for(j=1;j<=now_no-i;j++)</p><p><b>  {</b></p><p>  if(stu[j-1].ave<stu[j].ave)</p><p><b>  {</b></p><p>

121、  temp=stu[j];</p><p>  stu[j]=stu[j-1];</p><p>  stu[j-1]=temp;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

122、lt;/p><p>  display();</p><p><b>  }</b></p><p>  void display()/*顯示數(shù)據(jù)函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p&

123、gt;<p><b>  char as;</b></p><p>  average();</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\t\t\t班級(jí)學(xué)生信息列表\n"

124、;);</p><p>  printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n");</p><p>  for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,st

125、u[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p>  printf("\t\t按任意鍵返回主菜單.");</p><p>  fflush(stdin);</p><p>  as=getchar();</p>&

126、lt;p><b>  }</b></p><p>  while(!as);</p><p>  system("cls");</p><p><b>  }</b></p><p>  void insert()/*插入數(shù)據(jù)函數(shù)*/</p><p>

127、;<b>  {</b></p><p><b>  char ch;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n\t\t輸入新插入學(xué)生信息\n")

128、;</p><p>  printf("\n輸入學(xué)生學(xué)號(hào):");</p><p>  scanf("%d",&stu[now_no].no);</p><p>  fflush(stdin);</p><p>  printf("\n輸入學(xué)生姓名:");</p>

129、<p>  fflush(stdin);</p><p>  gets(stu[now_no].name);</p><p>  printf("\n輸入學(xué)生性別:");</p><p>  fflush(stdin);</p><p>  gets(stu[now_no].sex);</p>&

130、lt;p>  printf("\n輸入學(xué)生英語:");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&s

131、tu[now_no].english);</p><p>  if(stu[now_no].english>=0&&stu[now_no].english<=100)</p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n")

132、;</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生高數(shù):");</p><p>  fflush(stdin);</p><p><b>  while(1)</b></p><p><b>  {<

133、;/b></p><p>  scanf("%f",&stu[now_no].math);</p><p>  if(stu[now_no].math>=0&&stu[now_no].math<=100)</p><p><b>  break;</b></p><

134、;p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n輸入學(xué)生c語言:");</p><p>  fflush(stdin);</p><p><b>  while

135、(1)</b></p><p><b>  {</b></p><p>  scanf("%f",&stu[now_no].computer);</p><p>  if(stu[now_no].computer>=0&&stu[now_no].computer<=100)&l

136、t;/p><p><b>  break;</b></p><p>  else printf("請(qǐng)輸入0-100之間的數(shù)!\n");</p><p><b>  }</b></p><p>  printf("\n\n");</p><p&g

137、t;  now_no=now_no+1;</p><p><b>  sort();</b></p><p>  printf("是否繼續(xù)輸入?(Y/N)");</p><p>  fflush(stdin);</p><p>  ch=getchar();</p><p> 

138、 system("cls");</p><p><b>  }</b></p><p>  while(ch!='n'&&ch!='N');</p><p><b>  }</b></p><p>  void del()/*刪除數(shù)

139、據(jù)函數(shù)*/</p><p><b>  {</b></p><p>  int inum,i;</p><p>  printf("輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):");</p><p>  fflush(stdin);</p><p>  scanf("%d",&a

140、mp;inum);</p><p>  for(i=0;i<now_no;i++)</p><p><b>  {</b></p><p>  if(stu[i].no==inum)</p><p><b>  {</b></p><p>  if(i==now_no)

141、now_no-=1;</p><p><b>  else</b></p><p><b>  {</b></p><p>  stu[i]=stu[now_no-1];</p><p>  now_no-=1;</p><p><b>  }</b>&

142、lt;/p><p><b>  sort();</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("刪除

143、成功!!\n");</p><p><b>  }</b></p><p>  void find()/*按姓名查詢函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  char

144、 str[20],as;</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("輸入要查詢的學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(s

145、tr);</p><p>  for(i=0;i<now_no;i++)</p><p>  if(!strcmp(stu[i].name,str))</p><p><b>  {</b></p><p>  printf("\t學(xué)號(hào)\t姓名\t性別\t英語\t高數(shù)\tc語言\t平均值\n")

146、;</p><p>  printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].english,stu[i].math,stu[i].computer,stu[i].ave);</p><p><b>  }</b></p&

147、gt;<p>  printf("\t\t按任意鍵返回主菜單.");</p><p>  fflush(stdin);</p><p>  as=getchar();</p><p><b>  }</b></p><p>  while(!as);</p><p&g

148、t;  system("cls");</p><p><b>  }</b></p><p>  void average()/*求平均數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p>&

149、lt;p>  for(i=0;i<now_no;i++)</p><p><b>  {</b></p><p>  stu[i].sum=stu[i].english+stu[i].math+stu[i].computer;</p><p>  stu[i].ave=stu[i].sum/3;</p><p&g

150、t;<b>  }</b></p><p><b>  }</b></p><p>  void modify()/*修改數(shù)據(jù)函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><

151、p>  char str[20],as;</p><p>  printf("輸入要修改的學(xué)生姓名:");</p><p>  fflush(stdin);</p><p>  gets(str);</p><p>  for(i=0;i<now_no;i++)</p><p>  if

152、(!strcmp(stu[i].name,str))</p><p><b>  {</b></p><p>  system("cls");</p><p>  printf("\n\t\t輸入新插入學(xué)生信息\n");</p><p>  printf("\n輸入學(xué)生學(xué)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論