2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(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><b>  本科生課程論文封面</b></p><p>  課程名稱 C語言課程設(shè)計(jì) </p><p>  教師姓名 </p><p>  本科生姓名 </p><p>  本科生學(xué)號(hào)

2、 </p><p>  本科生專業(yè) 072114 (機(jī)械) </p><p>  所在院系 機(jī)電學(xué)院 </p><p>  類別: </p><p>  日期: 2012年6月25日 </p><p><

3、;b>  目錄</b></p><p><b>  課程論文題目</b></p><p><b>  程序設(shè)計(jì)思路</b></p><p><b>  功能模塊圖</b></p><p><b>  數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p>

4、;<p><b>  算法設(shè)計(jì)</b></p><p><b>  程序代碼</b></p><p><b>  程序運(yùn)行結(jié)果</b></p><p>  編程中遇到的困難及解決方法</p><p><b>  總結(jié)心得及良好建議</b>&l

5、t;/p><p><b>  致謝</b></p><p>  一、課程論文題目:學(xué)生成績(jī)管理系統(tǒng)1:題目要求</p><p>  請(qǐng)?jiān)O(shè)計(jì)《學(xué)生成績(jī)管理系統(tǒng)》,實(shí)現(xiàn)學(xué)生信息的錄入,顯示,查找,添加,保存,刪除,插入等功能模塊。要求功能選擇用菜單實(shí)現(xiàn),數(shù)據(jù)輸入和結(jié)果輸出要求有文件存放。</p><p><b>  

6、原始數(shù)據(jù)文件格式:</b></p><p>  學(xué)號(hào) 姓名 英語 C語言 高等數(shù)學(xué) 平均成績(jī)</p><p>  01 張三 75 85 80 80</p><p>  02 李四 … … … …</p><p><b>  2:需

7、求分析</b></p><p>  根據(jù)題目要求,由于學(xué)生信息總是存放在文件中,所以應(yīng)提供文件的輸入,輸出等操作;在程序中需要瀏覽學(xué)生的信息,應(yīng)提供顯示,查找,排序等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。</p><p><b>  3:總體設(shè)計(jì)</b></p><p>  根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)的設(shè)計(jì)分為:數(shù)據(jù)

8、輸入模塊、數(shù)據(jù)顯示模塊、數(shù)據(jù)查找模塊、數(shù)據(jù)插入模塊、成績(jī)排序模塊和成績(jī)保存模塊等。</p><p><b>  二、程序設(shè)計(jì)思路</b></p><p><b>  用戶輸入模塊</b></p><p>  在此模塊中用戶根據(jù)自己的需求輸入數(shù)字1~7中的任意一個(gè)數(shù)字,實(shí)現(xiàn)相應(yīng)的功能。</p><p>

9、;<b>  信息錄入功能模塊</b></p><p>  此模塊可以讓用戶輸入每個(gè)學(xué)生的信息:學(xué)號(hào)、姓名、英語成績(jī)、C語言成績(jī)、高等數(shù)學(xué)成績(jī)、平均成績(jī)。用戶可以連續(xù)輸入學(xué)生的信息,或者刪除或者查詢,也可以保存當(dāng)前已錄入的信息。</p><p><b>  修改學(xué)生成績(jī)模塊</b></p><p>  用戶可以根據(jù)實(shí)際情況

10、的變化修改已錄入的學(xué)生成績(jī)的信息,跟實(shí)際同步。</p><p><b>  文件保存模塊</b></p><p>  用戶可以在確定已錄入的信息無誤之后將學(xué)生的信息存為一個(gè)數(shù)據(jù)文件。已保存的信息可以再文件中查看也可以在程序中進(jìn)行查看。用戶輸入的學(xué)生信息可以隨時(shí)保存。</p><p><b>  查詢功能模塊</b><

11、/p><p>  在此模塊里,用戶可以根據(jù)提示輸入所想要查詢的學(xué)生的學(xué)號(hào)以查詢學(xué)生的信息。</p><p><b>  刪除功能模塊、</b></p><p>  在此模塊里,用戶可以根據(jù)自己的需求選擇想要?jiǎng)h除的學(xué)生信息,選擇之后程序會(huì)再次確認(rèn),以防誤刪。 </p><p><b>  7、排序功能模塊</b

12、></p><p>  在此模塊中,程序會(huì)將用戶已錄入的信息按平均成績(jī)由低到高進(jìn)行排序。</p><p><b>  三、功能模塊圖</b></p><p><b>  四、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p>  struct xueshengchengji /*聲明學(xué)生成績(jī)

13、數(shù)據(jù)結(jié)構(gòu)體*/</p><p><b>  {</b></p><p>  char xuehao[10]; /*學(xué)生學(xué)號(hào)*/</p><p>  char name[10]; /*學(xué)生姓名*/</p><p>  float cyuyan; /*c語言成績(jī)*/

14、</p><p>  float math; /*高數(shù)成績(jī)*/</p><p>  float english; /*英語成績(jī)*/</p><p>  float average; /*平均成績(jī)*/</p><p><b>  };</b></p

15、><p>  struct xueshengchengji chengji[100],*p=chengji; /*聲明記錄學(xué)生成績(jī)情況的100個(gè)元素的結(jié)構(gòu)體數(shù)組*/</p><p><b>  五、算法設(shè)計(jì)</b></p><p><b>  1、添加模塊</b></p><p>  void ad

16、d() </p><p><b>  {</b></p><p>  printf ("\t請(qǐng)輸入學(xué)生學(xué)號(hào):");</p><p>  fflush(stdin); /*清除鍵盤緩沖區(qū)*/</p><p&g

17、t;  gets(chengji[++n].xuehao);</p><p>  printf("\t\t\t\t請(qǐng)輸入學(xué)生姓名:");</p><p>  gets(chengji[n].name);</p><p>  printf("\t\t\t\t請(qǐng)輸入該學(xué)生的英語成績(jī):");</p><p>

18、  scanf("%f",&chengji[n].cyuyan);</p><p>  printf("\t\t\t\t請(qǐng)輸入該學(xué)生的C語言成績(jī):");</p><p>  scanf("%f",&chengji[n].math);</p><p>  printf("\t\t\t

19、\t請(qǐng)輸入該學(xué)生的高等數(shù)學(xué)成績(jī):");</p><p>  scanf("%f",&chengji[n].english);</p><p><b>  /*計(jì)算總成績(jī)*/</b></p><p>  chengji[n].average=(chengji[n].cyuyan+chengji[n].math

20、+chengji[n].english)/3;</p><p><b>  /*輸出內(nèi)容*/</b></p><p>  printf("\n\t\t\t\t該學(xué)生成績(jī)?yōu)?%f",chengji[n].average);</p><p>  printf("\n\n\t\t\t\t按任意鍵返回......"

21、;);</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  2、修改模式</b></p><p>  void modify ( )</p><p><b>  {</

22、b></p><p>  char xuehao[10]; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/</p><p>  int i; /*循環(huán)變量*/</p><p>  if (n==-1) /*人數(shù)為0說明成績(jī)記錄尚未添加*/</p><p><b>  {</b><

23、;/p><p>  printf("\n\n\t\t當(dāng)前還沒有學(xué)生成績(jī)記錄,按任意鍵返回主菜單......");</p><p><b>  getch( );</b></p><p><b>  return;</b></p><p><b>  }</b>&

24、lt;/p><p>  printf("\t請(qǐng)輸入學(xué)生學(xué)號(hào):"); /*提示信息*/</p><p>  gets(xuehao); /*從鍵盤讀取字符串*/</p><p>  for (i=0;i<=n;i++) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/</p><p

25、><b>  {</b></p><p>  if(strcmp(chengji[i].xuehao,xuehao)==0) /*比較并找到*/</p><p><b>  {</b></p><p>  /*顯示該學(xué)生成績(jī)情況*/</p><p>  printf("\

26、n\t\t\t 該學(xué)生成績(jī)情況如下: ");</p><p>  printf("\n\t\t\t===================\n\n");</p><p>  printf("%-6s%-6s%-9s","學(xué)號(hào)","姓名","平均成績(jī)");</p>&l

27、t;p>  printf("%-12s%-6s%12s","英語","C語言","高等數(shù)學(xué)");</p><p>  printf("%-6s%-6s",chengji[i].xuehao,chengji[i].name);</p><p>  printf("%9.2f%9

28、.2f%9.2f%9.2f",chengji[i].cyuyan,chengji[i].math,chengji[i].english,chengji[i].average);</p><p>  /*接受該學(xué)生新的成績(jī)情況*/</p><p>  printf("\n\t\t 請(qǐng)輸入該學(xué)生新的英語成績(jī): ");</p><p>  s

29、canf ("%f",&chengji[i].cyuyan);</p><p>  printf("\n\t\t 請(qǐng)輸入該學(xué)生新的C語言成績(jī): ");</p><p>  scanf ("%f",&chengji[i].math);</p><p>  printf("\n\t\t

30、 請(qǐng)輸入該學(xué)生新的高等數(shù)學(xué)成績(jī): ");</p><p>  scanf ("%f",&chengji[i].english);</p><p><b>  3、查詢模塊</b></p><p>  /*查詢學(xué)生成績(jī)(依據(jù)學(xué)號(hào))*/</p><p>  void find()<

31、/p><p><b>  {</b></p><p>  char xuehao[10]; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/</p><p>  int i; /*循環(huán)變量*/</p><p>  if(n==-1) /*人數(shù)為0說明成績(jī)記錄尚未添加*/</p><p><b

32、>  {</b></p><p>  printf("\n\n\t\t當(dāng)前還沒有學(xué)生成績(jī),按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  return;</b></p><p><b&

33、gt;  }</b></p><p>  printf("\t請(qǐng)輸入學(xué)生學(xué)號(hào):"); /*提示信息*/</p><p>  gets(xuehao); /*從鍵盤讀取字符串*/</p><p>  for(i=0;i<=n;i++) /*在職工總數(shù)范圍內(nèi)循環(huán)查找*/</p><p>

34、;<b>  {</b></p><p>  if(strcmp(chengji[i].xuehao,xuehao)==0) /*比較并找到*/</p><p><b>  {</b></p><p>  printf("\n 該學(xué)生成績(jī)情況如下:"); </p><

35、p>  printf("\n===================\n\n");</p><p>  printf("%-6s%-6s%","學(xué)號(hào)","姓名");</p><p>  printf("%-12s%-6s%12s%9s\n","英語","C語

36、言","高等數(shù)學(xué)","平均成績(jī)");</p><p>  printf("%-6s%-6s%",chengji[i].xuehao,chengji[i].name);</p><p>  printf("%9.2f%9.2f%9.2f%9.2f",chengji[i].cyuyan,chengji[i

37、].math,chengji[i].english,chengji[i].average);</p><p>  printf("\n 按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  break;</b></p>&l

38、t;p><b>  }</b></p><p><b>  }</b></p><p>  if(i==n+1)</p><p><b>  {</b></p><p>  printf("\n\t\t您所輸入的學(xué)生學(xué)號(hào)有誤或不存在!");</p

39、><p>  printf("按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p><

40、b>  }</b></p><p><b>  4、刪除模塊</b></p><p>  void del()</p><p><b>  {</b></p><p>  char xuehao[10]; </p><

41、p>  int i,j; </p><p>  char d; </p><p>  printf("\t請(qǐng)輸入待刪除學(xué)生學(xué)號(hào):");</p><p>  gets(xuehao);</p>

42、<p>  for(i=0;i<=n;i++) {</p><p>  if(strcmp(chengji[i].xuehao,xuehao)==0){</p><p>  printf("\n\t\t你確認(rèn)要?jiǎng)h除%s號(hào)學(xué)生成績(jī)信息么(y/n)?",chengji[i].xuehao );</p&

43、gt;<p>  d=getche();</p><p>  if(d=='y'||d=='Y') </p><p><b>  {</b></p><p>  if(i==n) </p><p>&

44、lt;b>  n--;</b></p><p>  else </p><p><b>  {</b></p><p>  for(j=i;j<=n;j++) </p><p><b>  {</b>

45、;</p><p>  strcpy(chengji[j].xuehao,chengji[j+1].xuehao);</p><p>  strcpy(chengji[j].name,chengji[j+1].name);</p><p>  chengji[j].english=chengji[j+1].english;</p><p> 

46、 chengji[j].math=chengji[j+1].math;</p><p>  chengji[j].cyuyan=chengji[j+1].cyuyan;</p><p><b>  }</b></p><p><b>  n--;</b></p><p><b>  }&l

47、t;/b></p><p>  printf("\n\n\t\t該學(xué)生記錄成功刪除,按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  break;</b></p><p><b>  }<

48、/b></p><p>  else {</p><p>  printf("\n\n\t\t你選擇了不刪除該學(xué)生記錄,按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><

49、;b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i == n+1)

50、{</p><p>  printf("\n\t\t本班級(jí)無此學(xué)號(hào),按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  }</b></p>

51、;<p><b>  5、排序模塊</b></p><p>  void rank()</p><p><b>  {</b></p><p>  int i,j; </p><p>  printf("\t按平均成績(jī)排序如下

52、\n");</p><p>  for (i=0;i<n;i++)</p><p>  for(j=i+1;j<n;j++)</p><p>  if (chengji[i].average>chengji [j].average)</p><p>  {*p=chengji[j];chengji[j]=cheng

53、ji[i];chengji[i]=*p;}</p><p>  printf("%-6s%-6s","學(xué)號(hào)","姓名");</p><p>  printf("%-12s%-6s%12s%-9s\n","英語","C語言","高等數(shù)學(xué)","平

54、均成績(jī)");</p><p>  for(i=0;i<=n;i++)</p><p><b>  { </b></p><p>  printf("%-6s%-6s",chengji[i].xuehao,chengji[i].name);</p><p>  printf("

55、%9.2f%9.2f%9.2f%9.2f\n",chengji[i].cyuyan,chengji[i].math,chengji[i].english,chengji[i].average);</p><p><b>  }</b></p><p>  printf("\n\n\t\t\t\t按任意鍵返回......");</p&

56、gt;<p><b>  getch();</b></p><p><b>  }</b></p><p><b>  六、程序代碼個(gè)</b></p><p>  #include <stdio.h> /*基本的輸入輸出函數(shù)*/</p><p&

57、gt;  #include <conio.h> /*getch()及getche()函數(shù)包含在此*/</p><p>  #include <string.h> /*字符串相關(guān)函數(shù)*/</p><p>  #include <windows.h> /*sleep()函數(shù)包含在此*/</p><p&g

58、t;  #define TRUE 1</p><p>  /*以下函數(shù)為自定義函數(shù)聲明語句*/</p><p>  void read(); /*從數(shù)據(jù)文件中讀取學(xué)生成績(jī)數(shù)據(jù)*/</p><p>  void write(); /*想學(xué)生成績(jī)數(shù)據(jù)文件寫入記錄*/</p><p>  void

59、find(); /*查詢學(xué)生成績(jī)數(shù)據(jù)記錄*/</p><p>  void modify(); /*修改學(xué)生成績(jī)數(shù)據(jù)記錄*/</p><p>  void add(); /*向?qū)W生成績(jī)數(shù)據(jù)文件中增加記錄*/</p><p>  void del(); /*從學(xué)生成

60、績(jī)數(shù)據(jù)文件中刪除記錄*/</p><p>  void rank(); /*排列學(xué)生成績(jī)*/</p><p>  struct xueshengchengji /*聲明學(xué)生成績(jī)數(shù)據(jù)結(jié)構(gòu)體*/</p><p><b>  {</b></p><p>  char xuehao[10];

61、 /*學(xué)生學(xué)號(hào)*/</p><p>  char name[10]; /*學(xué)生姓名*/</p><p>  float cyuyan; /*c語言成績(jī)*/</p><p>  float math; /*高數(shù)成績(jī)*/</p><p>  float english;

62、 /*英語成績(jī)*/</p><p>  float average; /*平均成績(jī)*/</p><p><b>  };</b></p><p>  struct xueshengchengji chengji[100],*p=chengji; /*聲明記錄學(xué)生成績(jī)情況的100個(gè)元素的結(jié)構(gòu)體數(shù)組*/<

63、;/p><p>  int n = -1; /*聲明統(tǒng)計(jì)學(xué)生人數(shù)的變量(全局)*/</p><p>  void main() {</p><p><b>  char ch;</b></p><p>  read(); /*從數(shù)據(jù)文件中讀取學(xué)生成績(jī)數(shù)據(jù)并初始化學(xué)生成

64、績(jī)結(jié)構(gòu)體數(shù)組*/</p><p>  while(TRUE) {</p><p>  system("cls"); /*清屏命令*/</p><p>  printf("\n\n\t\t★☆ 歡迎使用學(xué)生成績(jī)管理系統(tǒng) ☆★\n\n\n");</p><p>  printf("\t\t請(qǐng)

65、選擇(1-7):\n");</p><p>  printf("\t\t======================================================\n");</p><p>  printf("\t\t\t 1.查詢學(xué)生成績(jī)記錄\n");</p><p>  printf("

66、;\t\t\t 2.修改學(xué)生成績(jī)記錄\n");</p><p>  printf("\t\t\t 3.添加學(xué)生成績(jī)記錄\n");</p><p>  printf("\t\t\t 4.刪除學(xué)生成績(jī)記錄\n");</p><p>  printf("\t\t\t 5.保存學(xué)生成績(jī)記錄\n");<

67、;/p><p>  printf("\t\t\t 6.成績(jī)排序\n");</p><p>  printf("\t\t\t 7.退出\n");</p><p>  printf("\t\t======================================================\n");<

68、;/p><p>  printf("\n\t\t");</p><p>  ch=getch();</p><p>  switch(ch) {</p><p><b>  case '1':</b></p><p><b>  find();</b

69、></p><p>  break; /*查詢*/</p><p><b>  case '2':</b></p><p><b>  modify();</b></p><p>  break; /*修改*/</p><p>

70、;<b>  case '3':</b></p><p><b>  add();</b></p><p>  break; /*添加*/</p><p><b>  case '4':</b></p><p><b>

71、;  del();</b></p><p>  break; /*刪除*/</p><p><b>  case '5':</b></p><p><b>  write();</b></p><p>  break; /*保存*/<

72、/p><p><b>  case '6':</b></p><p><b>  rank();</b></p><p>  break; /*排序*/</p><p><b>  case '7':</b></p>&

73、lt;p>  return; /*退出*/</p><p><b>  default:</b></p><p>  printf("\t\t \n");</p><p><b>  getch();</b></p><p><b> 

74、 }</b></p><p><b>  }</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*從數(shù)據(jù)文件cj.dat中讀取學(xué)生成績(jī)數(shù)據(jù)到數(shù)據(jù)組chengji中*/</p>&l

75、t;p>  void read()</p><p><b>  {</b></p><p>  FILE * file; /*聲明文件指針*/</p><p>  if((file=fopen("cj.dat","rb"))==NULL)</p><p>  /*以二進(jìn)制

76、方式打開學(xué)生成績(jī)數(shù)據(jù)文件,并判斷是否失敗*/</p><p><b>  {</b></p><p>  printf("\n\n\t 學(xué)生成績(jī)數(shù)據(jù)文件無法打開,或?yàn)榭眨?quot;);</p><p>  printf("\n\n\t 按任意鍵進(jìn)入主菜單.......");</p><p>

77、;<b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  else /*文件打開成功時(shí)*/</p><p><b>  {</b></p>&

78、lt;p>  n++; /*計(jì)算結(jié)構(gòu)體數(shù)組下標(biāo)*/</p><p>  while(fread(&chengji[n],sizeof(chengji[n]),1,file) == 1)</p><p><b>  n++;</b></p><p>  fclose(file); /*關(guān)閉文件指針*/</p>

79、;<p>  printf("\n\n\t學(xué)生成績(jī)數(shù)據(jù)讀取完畢,共有%d人! \n",n);</p><p>  printf("\n\t5秒后繼續(xù)...... \n",n);</p><p>  n--; /*計(jì)算學(xué)生記錄總數(shù)*/</p><p>  Sleep(5000); /*延時(shí)5分鐘*

80、/</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*向?qū)W生成績(jī)數(shù)據(jù)文件中寫入記錄*/</p><p>  void write()</p><p><b>  {</b></p>&l

81、t;p>  FILE *file; /*聲明文件指針*/</p><p>  if(n == -1) /*學(xué)生人數(shù)為 0 時(shí)*/</p><p><b>  {</b></p><p>  printf(" 沒有數(shù)據(jù)可存!按任意鍵返回主菜單 \n");</p><p>&l

82、t;b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  if((file=fopen("cj.dat","wb"))!=NULL)</p><p>

83、  /*以二進(jìn)制方式打開學(xué)生成績(jī)數(shù)據(jù)文件,并判斷是否失敗*/</p><p><b>  {</b></p><p>  fwrite(&chengji[0],sizeof(chengji[0]),n+1,file); /*所有記錄一次寫入文件*/</p><p>  fclose(file); /*關(guān)閉文件指針*/&l

84、t;/p><p>  printf("\n\n\t\t%d條學(xué)生記錄保存完畢!\n",n+1);</p><p><b>  } </b></p><p>  else /*文件打開不成功時(shí)*/</p><p>  printf("\t\t無法打開學(xué)生成績(jī)數(shù)據(jù)文件!\n&quo

85、t;);</p><p>  printf("\n\t\t按任意鍵返回主菜單...... ");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  /*查詢學(xué)生成績(jī)(依據(jù)學(xué)號(hào))*/</p><p&

86、gt;  void find()</p><p><b>  {</b></p><p>  char xuehao[10]; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/</p><p>  int i; /*循環(huán)變量*/</p><p>  if(n==-1) /*人數(shù)為0說明成績(jī)記錄尚未添加*/</p

87、><p><b>  {</b></p><p>  printf("\n\n\t\t當(dāng)前還沒有學(xué)生成績(jī),按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  return;</b></p&

88、gt;<p><b>  }</b></p><p>  printf("\t請(qǐng)輸入學(xué)生學(xué)號(hào):"); /*提示信息*/</p><p>  gets(xuehao); /*從鍵盤讀取字符串*/</p><p>  for(i=0;i<=n;i++) /*在職工總數(shù)范圍內(nèi)循環(huán)查找*/

89、</p><p><b>  {</b></p><p>  if(strcmp(chengji[i].xuehao,xuehao)==0) /*比較并找到*/</p><p><b>  {</b></p><p>  printf("\n 該學(xué)生成績(jī)情況如下:");

90、 </p><p>  printf("\n===================\n\n");</p><p>  printf("%-6s%-6s%","學(xué)號(hào)","姓名");</p><p>  printf("%-12s%-6s%12s%9s\n",&qu

91、ot;英語","C語言","高等數(shù)學(xué)","平均成績(jī)");</p><p>  printf("%-6s%-6s%",chengji[i].xuehao,chengji[i].name);</p><p>  printf("%9.2f%9.2f%9.2f%9.2f",chengji

92、[i].cyuyan,chengji[i].math,chengji[i].english,chengji[i].average);</p><p>  printf("\n 按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  break;<

93、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i==n+1)</p><p><b>  {</b></p><p>  printf("\n\t\t您所輸入的學(xué)生學(xué)號(hào)有

94、誤或不存在!");</p><p>  printf("按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></

95、p><p><b>  }</b></p><p>  void list()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  system("cls");</p>

96、<p>  printf("\n\n\t\t\t 全體學(xué)生成績(jī)情況如下\n");</p><p>  printf("\t\t\t===========================\n\n");</p><p>  printf("%-6s%-6s%-9s","學(xué)號(hào)","姓名&quo

97、t;,"平均成績(jī)");</p><p>  printf("%-12s%-6s%12s\n","英語","C語言","高等數(shù)學(xué)");</p><p>  for(i=0;i<=n;i++)</p><p><b>  {</b></p

98、><p>  printf("%-6s%-6s%8.2f",chengji[i].xuehao,chengji[i].name,chengji[i].average);</p><p>  printf("%9.2f%9.2f%9.2f",chengji[i].english,chengji[i].math);</p><p>&

99、lt;b>  }</b></p><p><b>  }</b></p><p>  void modify ( )</p><p><b>  {</b></p><p>  char xuehao[10]; /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/</p><p&

100、gt;  int i; /*循環(huán)變量*/</p><p>  if (n==-1) /*人數(shù)為0說明成績(jī)記錄尚未添加*/</p><p><b>  {</b></p><p>  printf("\n\n\t\t當(dāng)前還沒有學(xué)生成績(jī)記錄,按任意鍵返回主菜單......");<

101、/p><p><b>  getch( );</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  printf("\t請(qǐng)輸入學(xué)生學(xué)號(hào):"); /*提示信息*/</p><

102、p>  gets(xuehao); /*從鍵盤讀取字符串*/</p><p>  for (i=0;i<=n;i++) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/</p><p><b>  {</b></p><p>  if(strcmp(chengji[i].xuehao,xue

103、hao)==0) /*比較并找到*/</p><p><b>  {</b></p><p>  /*顯示該學(xué)生成績(jī)情況*/</p><p>  printf("\n\t\t\t 該學(xué)生成績(jī)情況如下: ");</p><p>  printf("\n\t\t\t========

104、===========\n\n");</p><p>  printf("%-6s%-6s%-9s","學(xué)號(hào)","姓名","平均成績(jī)");</p><p>  printf("%-12s%-6s%12s","英語","C語言","高

105、等數(shù)學(xué)");</p><p>  printf("%-6s%-6s",chengji[i].xuehao,chengji[i].name);</p><p>  printf("%9.2f%9.2f%9.2f%9.2f",chengji[i].cyuyan,chengji[i].math,chengji[i].english,chengji

106、[i].average);</p><p>  /*接受該學(xué)生新的成績(jī)情況*/</p><p>  printf("\n\t\t 請(qǐng)輸入該學(xué)生新的英語成績(jī): ");</p><p>  scanf ("%f",&chengji[i].cyuyan);</p><p>  printf("

107、;\n\t\t 請(qǐng)輸入該學(xué)生新的C語言成績(jī): ");</p><p>  scanf ("%f",&chengji[i].math);</p><p>  printf("\n\t\t 請(qǐng)輸入該學(xué)生新的高等數(shù)學(xué)成績(jī): ");</p><p>  scanf ("%f",&cheng

108、ji[i].english);</p><p><b>  /*計(jì)算總成績(jī)*/</b></p><p>  chengji[i].average=(chengji[i].cyuyan+chengji[i].math+chengji[i].english)/3;</p><p>  /*同屏顯示計(jì)算結(jié)果*/</p><p>

109、;  printf("\n\t\t\t 該學(xué)生成績(jī)是: %f",chengji[i].average);</p><p>  printf("\n\n\t\t 該學(xué)生成績(jī)數(shù)據(jù)修改成功! 按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><

110、;b>  return ;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("\n\t\t 您所輸入的學(xué)生學(xué)號(hào)有誤或不存在! ");</p><p>  printf("按任意鍵

111、返回主菜單......");</p><p><b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  /*向?qū)W生管理系統(tǒng)中則增加記錄*/</p><p&g

112、t;  void add()</p><p><b>  {</b></p><p>  printf ("\t請(qǐng)輸入學(xué)生學(xué)號(hào):");</p><p>  fflush(stdin); /*清除鍵盤緩沖區(qū)*/</p><p>  gets(chengji[++n].xuehao);&l

113、t;/p><p>  printf("\t\t\t\t請(qǐng)輸入學(xué)生姓名:");</p><p>  gets(chengji[n].name);</p><p>  printf("\t\t\t\t請(qǐng)輸入該學(xué)生的英語成績(jī):");</p><p>  scanf("%f",&chen

114、gji[n].cyuyan);</p><p>  printf("\t\t\t\t請(qǐng)輸入該學(xué)生的C語言成績(jī):");</p><p>  scanf("%f",&chengji[n].math);</p><p>  printf("\t\t\t\t請(qǐng)輸入該學(xué)生的高等數(shù)學(xué)成績(jī):");</p&g

115、t;<p>  scanf("%f",&chengji[n].english);</p><p><b>  /*計(jì)算總成績(jī)*/</b></p><p>  chengji[n].average=(chengji[n].cyuyan+chengji[n].math+chengji[n].english)/3;</p>

116、;<p><b>  /*輸出內(nèi)容*/</b></p><p>  printf("\n\t\t\t\t該學(xué)生成績(jī)?yōu)?%f",chengji[n].average);</p><p>  printf("\n\n\t\t\t\t按任意鍵返回......");</p><p><b>

117、;  getch();</b></p><p><b>  }</b></p><p>  /*從學(xué)生成績(jī)數(shù)據(jù)文件中刪除記錄*/</p><p>  void del()</p><p><b>  {</b></p><p>  char xuehao[10];

118、 /*接收學(xué)生學(xué)號(hào)字符數(shù)組*/</p><p>  int i,j; /*循環(huán)變量*/</p><p>  char d; /*接收確認(rèn)刪除字符:y/n*/</p><p>  printf(

119、"\t請(qǐng)輸入待刪除學(xué)生學(xué)號(hào):");</p><p>  gets(xuehao);</p><p>  for(i=0;i<=n;i++) /*在學(xué)生總數(shù)范圍內(nèi)循環(huán)查找*/</p><p><b>  {</b></p><p>  if(strcm

120、p(chengji[i].xuehao,xuehao)==0) /*比較并找到*/</p><p><b>  {</b></p><p>  printf("\n\t\t你確認(rèn)要?jiǎng)h除%s號(hào)學(xué)生成績(jī)信息么(y/n)?",chengji[i].xuehao );</p><p>  d=getche();</p>

121、<p>  if(d=='y'||d=='Y') /*確認(rèn)刪除*/</p><p><b>  {</b></p><p>  if(i==n) /*如果是最后一條記錄*/</p><p><b>  n--;</b

122、></p><p>  else /*不是最后一條記錄*/</p><p><b>  {</b></p><p>  for(j=i;j<=n;j++) /*從該記錄開始后續(xù)記錄更新前一條記錄*/</p><p><b>  {<

123、/b></p><p>  strcpy(chengji[j].xuehao,chengji[j+1].xuehao);</p><p>  strcpy(chengji[j].name,chengji[j+1].name);</p><p>  chengji[j].english=chengji[j+1].english;</p><p

124、>  chengji[j].math=chengji[j+1].math;</p><p>  chengji[j].cyuyan=chengji[j+1].cyuyan;</p><p><b>  }</b></p><p><b>  n--;</b></p><p><b>

125、  }</b></p><p>  printf("\n\n\t\t該學(xué)生記錄成功刪除,按任意鍵返回主菜單......");</p><p><b>  getch();</b></p><p><b>  break;</b></p><p><b>  

126、}</b></p><p>  else /*未確認(rèn)刪除記錄*/</p><p><b>  {</b></p><p>  printf("\n\n\t\t你選擇了不刪除該學(xué)生記錄,按任意鍵返回主菜單......");</p><p&

127、gt;<b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

128、<p>  if(i == n+1) /*未找到指定學(xué)號(hào)或未刪除記錄*/</p><p><b>  {</b></p><p>  printf("\n\t\t本班級(jí)無此學(xué)號(hào),按任意鍵返回主菜單......");</p><p><b>

129、;  getch();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*排列學(xué)生的成績(jī)*/</p><p>  void rank()</p><p><b>  {</b>&l

130、t;/p><p>  int i,j; /*循環(huán)變量*/</p><p>  printf("\t按平均成績(jī)排序如下\n");</p><p>  for (i=0;i<n;i++)</p><p>  for(j=i+1;j<n;j++)</p>&

131、lt;p>  if (chengji[i].average>chengji [j].average)</p><p>  {*p=chengji[j];chengji[j]=chengji[i];chengji[i]=*p;}</p><p>  printf("%-6s%-6s","學(xué)號(hào)","姓名");</p&

132、gt;<p>  printf("%-12s%-6s%12s%-9s\n","英語","C語言","高等數(shù)學(xué)","平均成績(jī)");</p><p>  for(i=0;i<=n;i++)</p><p><b>  { </b></p>

133、<p>  printf("%-6s%-6s",chengji[i].xuehao,chengji[i].name);</p><p>  printf("%9.2f%9.2f%9.2f%9.2f\n",chengji[i].cyuyan,chengji[i].math,chengji[i].english,chengji[i].average);</p&g

134、t;<p><b>  }</b></p><p>  printf("\n\n\t\t\t\t按任意鍵返回......");</p><p><b>  getch();</b></p><p><b>  }</b></p><p><

135、;b>  七、程序運(yùn)行結(jié)果</b></p><p><b>  1、主菜單</b></p><p>  2、添加學(xué)生成績(jī)記錄</p><p>  3、刪除學(xué)生成績(jī)記錄</p><p>  4、修改學(xué)生成績(jī)記錄</p><p><b>  5、成績(jī)排序</b>

136、</p><p><b>  查詢學(xué)生成績(jī)記錄</b></p><p>  八、編程中遇到的困難及解決方法</p><p>  這一次的C語言課程設(shè)計(jì)報(bào)告是我第一次將C語言運(yùn)用于實(shí)際,在這次的實(shí)習(xí)中,我遇到了很多問題,但最終我都將這些問題解決了,完成了這一次的C語言課程設(shè)計(jì)的實(shí)習(xí)。</p><p>  問題1:題目所包含

137、的程序功能太多,自己不能有一個(gè)整體的認(rèn)識(shí),不知道該從那里開始時(shí)這一次的程序設(shè)計(jì)。</p><p>  解決方法:老師給了我們一個(gè)程序的框架,并且告訴我們先確定主函數(shù),再編寫詳細(xì)的程序功能。</p><p>  問題2:在這一次的程序設(shè)計(jì)中,需要運(yùn)用到很多自己之前都不會(huì)的函數(shù)。</p><p>  解決方法:大致了解C語言中主要函數(shù)的用法,讓自己有印象,在需要用到相應(yīng)

138、函數(shù)的時(shí)候再弄清楚使用方法。</p><p>  問題3:在編寫程序的時(shí)候總是會(huì)出現(xiàn)很多錯(cuò)誤,每次在調(diào)試的時(shí)候總會(huì)顯示有錯(cuò),而且很多問題自己找不出來也不會(huì)改正。</p><p>  解決方法:在和同學(xué)討論之后還是無法解決的話就會(huì)向老師尋求幫助,問老師的意見,聽了老師的講解之后,記住錯(cuò)誤的原因,避免再次犯錯(cuò)。</p><p>  九、總結(jié)心得及良好建議</p&g

139、t;<p>  對(duì)于C語言程序設(shè)計(jì)這門課,我的態(tài)度還算比較認(rèn)真,雖然也有上課聽不懂或者一時(shí)無法理解的時(shí)候,但是一直在努力弄懂它。期末的實(shí)習(xí)就是對(duì)我這門課的學(xué)習(xí)最真實(shí)的檢驗(yàn)。</p><p>  這次上機(jī)實(shí)習(xí)讓我學(xué)到了很多有用的東西,鞏固了之前的學(xué)習(xí),讓我學(xué)到了在教室和做題中學(xué)不到的一些知識(shí),通過這個(gè)程序的學(xué)習(xí),使我進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法。初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法,基

140、本學(xué)會(huì)調(diào)試一個(gè)比較長(zhǎng)程序的基本方法,進(jìn)一步掌握和提高利用C語言進(jìn)行程序設(shè)計(jì)的能力。</p><p>  但是,在此次實(shí)習(xí)中,我也發(fā)現(xiàn)了對(duì)一些計(jì)算機(jī)C語言知識(shí)掌握的不足。對(duì)里面的好多東西還是很陌生,并不是很熟練,有著許多欠缺,更多的在運(yùn)用起來的時(shí)候還是感到很不好動(dòng)手。還不能熟練的掌握即運(yùn)用知識(shí),甚至對(duì)一些基本知識(shí)混淆,以至于在編程時(shí)浪費(fèi)了很多時(shí)間,操作中還出現(xiàn)了一些問題,這些都是我需要改進(jìn)的地方。而正是這次實(shí)習(xí)給了

141、我這次機(jī)會(huì),讓我更清楚地認(rèn)識(shí)了自己的不足,及時(shí)地改正并完善自己,使知識(shí)熟練的掌握。</p><p>  這次的實(shí)習(xí)讓我學(xué)到最多最重要的東西就是c語言這門學(xué)科所顯示的靈活性,以及它所代表的一種高效率、嚴(yán)密邏輯性和高度的條理性,可能我們今后接觸c語言的機(jī)會(huì)不會(huì)很多,但我相信這些理念會(huì)給我們今后的學(xué)習(xí)和生活帶來巨大的便利。</p><p>  這次實(shí)習(xí)之后我了解到,在進(jìn)行C語言編程的時(shí)候一定要在

溫馨提示

  • 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)論