課程設(shè)計報告(學生成績管理系統(tǒng)c語言)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  信息學院</b></p><p><b>  課程設(shè)計Ⅰ報告</b></p><p>  課程名稱___C語言程序設(shè)計_</p><p>  題目名稱 學生成績管理系統(tǒng) </p><p>  學生學院_ _</p><p> 

2、 專業(yè)班級 </p><p>  學 號 </p><p>  學生姓名 </p><p>  指導教師______ ____ </p><p>  2012年12月23日</p><p>  1設(shè)計目的與要求3</p>&l

3、t;p>  1.1題目及設(shè)計要求3</p><p>  1.2 本程序設(shè)計的知識點3</p><p><b>  2、功能設(shè)計3</b></p><p>  2.1、 總體設(shè)計3</p><p><b>  2.3詳細設(shè)計6</b></p><p><b

4、>  3、程序?qū)崿F(xiàn)8</b></p><p>  3.1 程序?qū)崿F(xiàn)時應(yīng)考慮的問題8</p><p>  3.2 成績排序、信息刪除、信息保存、文件打開模塊核心代碼8</p><p>  3.3程序源代碼11</p><p><b>  4、測試分析19</b></p><

5、p>  4.1 測試結(jié)果及分析19</p><p><b>  5、總結(jié)22</b></p><p>  6、參考文獻:23</p><p><b>  1設(shè)計目的與要求</b></p><p>  1.1題目及設(shè)計要求</p><p>  題目:將學生基本信息、

6、學生成績基本信息要存入文件當中,并且具有文件的輸入輸出操作;查詢功能要求提供查找和顯示操作;刪除功能要求實現(xiàn)刪除操作;排序功能要求實現(xiàn)排序操作;另外還應(yīng)該提供鍵盤式選擇菜單以實現(xiàn)功能選擇。</p><p>  設(shè)計要求:程序具有信息錄入、查看、查找、成績排序、刪除信息、保存信息、打開文件、退出系統(tǒng)等功能。</p><p>  我負責的是成績排序、信息的刪除、信息的保存、文件的打開這四個模塊

7、。</p><p>  1.2 本程序設(shè)計的知識點</p><p>  1程序涉及數(shù)組,字符串的定義;</p><p><b>  2 函數(shù)調(diào)用;</b></p><p><b>  3結(jié)構(gòu)體,指針;</b></p><p><b>  4文件錄入</b>

8、;</p><p><b>  2、功能設(shè)計</b></p><p><b>  2.1、 總體設(shè)計</b></p><p> ?。?)在此程序中,包括幾個頭文件:</p><p>  #include<stdio.h> :將stdio.h內(nèi)容放在這兒,此文件有printf、scanf等

9、函數(shù)的定義;</p><p>  #include<string.h>:定義字符串變量;</p><p>  #include<stdlib.h>:定義了五種類型變量、常用函數(shù)例如look()、save();</p><p>  (2)系統(tǒng)中所包含的函數(shù):</p><p>  void look(); /*聲明查看

10、函數(shù)*/</p><p>  void save(); /*聲明保存函數(shù)*/</p><p>  void search_name(); /*聲明按姓名查看函數(shù)*/</p><p>  void search_number(); /*聲明按學號查看函數(shù)*/</p><p>  void order(); /*聲明排序函數(shù)*/&l

11、t;/p><p>  void del(); /*聲明刪除函數(shù)*/</p><p>  int openl(); /*聲明打開函數(shù)*/</p><p>  void welcome(); /*聲明我的個人信息函數(shù)*/</p><p>  void type(); /*聲明輸入函數(shù)*/</p><p>  vo

12、id see(); /*聲明打開并查看文件函數(shù)*/</p><p>  Main();/*主函數(shù)*/</p><p>  (3)系統(tǒng)中定義的結(jié)構(gòu)體</p><p>  struct student /*定義學生信息的結(jié)構(gòu)體類型*/</p><p>  char num[15]; /*學號*/</p><p>

13、  char name[20]; /*姓名*/</p><p>  char sex[4]; /*性別*/</p><p>  char dno[20];/*宿舍號*/</p><p>  int english; /*英語成績*/</p><p>  int math; /*數(shù)學成績*/</p><p

14、>  int chinese; /*語文成績*/</p><p>  float aver; /*平均成績*/</p><p>  float sum; /*總成績*/</p><p> ?。?)系統(tǒng)中定義的全局變量</p><p><b>  int n</b></p><p

15、><b> ?。?)系統(tǒng)功能模塊</b></p><p><b>  2.3詳細設(shè)計</b></p><p><b>  (1)成績排序模塊</b></p><p>  排序功能:對數(shù)據(jù)進行排序,通過order函數(shù)對數(shù)據(jù)按平均分進行排序,排序結(jié)束后調(diào)用save函數(shù)保存。</p>&

16、lt;p>  (2) 信息刪除模塊</p><p>  刪除功能:刪除信息,通過del函數(shù)實現(xiàn),刪除后調(diào)用save函數(shù)對數(shù)據(jù)保存。</p><p><b> ?。?)信息保存模塊</b></p><p>  保存功能:對數(shù)據(jù)進行保存,用save函數(shù)向文件中寫入數(shù)據(jù)實現(xiàn)該功能。</p><p><b>  

17、(4)文件打開模塊</b></p><p><b>  3、程序?qū)崿F(xiàn)</b></p><p>  3.1 程序?qū)崿F(xiàn)時應(yīng)考慮的問題</p><p>  程序代碼問題輸入時大小寫問題、界面是否整潔大方。在程序?qū)崿F(xiàn)時,定義是否合理,函數(shù)調(diào)用語句是否達到要求,控制語句是否合理。調(diào)試程序,運行程序,程序是否達到設(shè)計需求等。</p>

18、<p>  3.2 成績排序、信息刪除、信息保存、文件打開模塊核心代碼</p><p>  void order() /*定義排序函數(shù)*/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i,j;

19、</b></p><p><b>  char a;</b></p><p>  struct student temp; /*聲明結(jié)構(gòu)體變量*/</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>

20、;  for(i=0;i<n;i++) /*對數(shù)據(jù)進行排序*/</p><p><b>  {</b></p><p>  for(j=i+1;j<n;j++)</p><p>  if(stu[i].sum<stu[j].sum)</p><p><b>  {</b><

21、/p><p>  temp=stu[i];</p><p>  stu[i]= stu[j];</p><p>  stu[j]=temp;</p><p><b>  }</b></p><p>  printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%

22、.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  }</b></p><p><b> 

23、 getch();</b></p><p>  printf("是否保存?(y or n)");</p><p>  getchar();</p><p>  scanf("%c",&a);</p><p>  if(a=='y') /*是否保存排序后的文件*/&l

24、t;/p><p><b>  save();</b></p><p><b>  else</b></p><p>  printf("退出");</p><p><b>  getch();</b></p><p><b> 

25、 }</b></p><p>  void del() /*定義刪除學生信息函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  char a;</b></p><p>

26、;  char name[20];</p><p>  system("CLS");</p><p>  printf("\t\t\t輸入學生名字:\n");</p><p>  scanf("%s",name);</p><p>  system("CLS");

27、</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].name,name)==0)</p><p><b>  {</b&g

28、t;</p><p>  printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum)

29、;</p><p><b>  getch();</b></p><p>  printf("真的刪除?(y or n)");</p><p>  getchar();</p><p>  scanf("%c",&a);</p><p>  if(a

30、=='y') /*是否刪除該信息*/</p><p><b>  {</b></p><p>  for(;i<n;i++)</p><p>  stu[i]=stu[i+1];</p><p><b>  n=n-1;</b></p><p>  p

31、rintf("你已經(jīng)刪除信息");</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("退出");</p><p><b>  getch();</b></p&g

32、t;<p><b>  }</b></p><p><b>  save();</b></p><p><b>  }</b></p><p>  void save() /*建立保存文件函數(shù)*/</p><p><b>  {</b>&

33、lt;/p><p>  system("CLS");</p><p>  FILE *fp; /*定義文件型指針*/</p><p><b>  int i;</b></p><p>  if((fp=fopen("student.txt","wb"))==N

34、ULL) /*打開輸出文件*/</p><p><b>  {</b></p><p>  printf("不能打開文件!\n"); </p><p>  return; /*終止程序*/</p><p><b>  }<

35、/b></p><p>  for(i=0;i<n;i++) /*向student文件中寫入信息*/</p><p>  if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p><p>  printf("文件寫入錯誤\n");</p><p>

36、;  fclose(fp); /*關(guān)閉文件*/</p><p>  printf("\n\n\n\n\t\t\t學生信息保存成功!\n");</p><p>  printf("\n\n\n\n\t\t\t按任意鍵返回菜單!!");</p><p><b>  getch();</b></

37、p><p><b>  }</b></p><p>  void see() /*打開并查看文件*/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i;</b

38、></p><p>  n=openl();</p><p>  printf("文件打開成功!\n");</p><p>  printf("按任意鍵查看!\n");</p><p><b>  getch();</b></p><p>  prin

39、tf("學號\t姓名\t性別\t宿舍\t電話\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++) /*輸出所有的學生信息*/</p><p><b>  {</b></p><p>  printf("%s\t%s\t%2s\t%s\t%d\t%

40、d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  }</b></p>&

41、lt;p>  printf("\n\n\n\t\t\t按任意鍵返回菜單");</p><p><b>  getch();</b></p><p><b>  }</b></p><p><b>  3.3程序源代碼</b></p><p>  #in

42、clude"stdio.h"</p><p>  #include"conio.h"</p><p>  #include"string.h"</p><p>  #include"stdlib.h"</p><p>  void look(); /*聲明查看

43、函數(shù)*/</p><p>  void save(); /*聲明保存函數(shù)*/</p><p>  void search_name(); /*聲明按姓名查看函數(shù)*/</p><p>  void search_number(); /*聲明按學號查看函數(shù)*/</p><p>  void order(); /*聲明排序函數(shù)*/&l

44、t;/p><p>  void del(); /*聲明刪除函數(shù)*/</p><p>  int openl(); /*聲明打開函數(shù)*/</p><p>  void welcome(); /*聲明我的個人信息函數(shù)*/</p><p>  void type(); /*聲明輸入函數(shù)*/</p><p>  vo

45、id see(); /*聲明打開并查看文件函數(shù)*/</p><p>  struct student /*定義學生信息的結(jié)構(gòu)體類型*/</p><p><b>  {</b></p><p>  char num[15]; /*學號*/</p><p>  char name[20]; /*姓名*/&

46、lt;/p><p>  char sex[4]; /*性別*/</p><p>  char dno[20];/*宿舍號*/</p><p>  int english; /*英語成績*/</p><p>  int math; /*數(shù)學成績*/</p><p>  int chinese; /*語文

47、成績*/</p><p>  float aver; /*平均成績*/</p><p>  float sum; /*總成績*/</p><p>  }stu[100];</p><p>  int n; /*聲明一個全局變量*/</p><p>  void main()

48、 /*主函數(shù)即用戶的操作界面*/</p><p><b>  { </b></p><p><b>  int n;</b></p><p><b>  for(;;)</b></p><p><b>  {</b></p><

49、p>  printf("\n");</p><p>  printf("\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");</p><p>  printf("\t※ ※\n");<

50、;/p><p>  printf("\t※ 歡迎來到學生信息管理系統(tǒng) ※\n");</p><p>  printf("\t※ ※\n");</p><p&g

51、t;  printf("\t※ 系部:計科系 專業(yè):計算機科學與技術(shù) ※\n");</p><p>  printf("\t※ 姓名: 學號:2011091124 ※\n");</p><p>  printf("\t※

52、 姓名: 學號:2011091152 ※\n");</p><p>  printf("\t※ ※\n");</p><p>  printf("\t※ 指導老師

53、:馬瑜 ※\n");</p><p>  printf("\t※ ※\n");</p><p>  printf("\t※ 主菜單

54、 ※\n");</p><p>  printf("\t※ ※\n");</p><p>  printf("\t※ ▲1.錄入信息▲

55、 ※\n"); /*鍵入學生的信息*/</p><p>  printf("\t※ ▲2.查看信息▲ ※\n");/*查看錄入的學生信息*/</p><p>  printf("\t※ ▲3.姓名查找▲

56、 ※\n");/*按姓名查看學生的信息*/</p><p>  printf("\t※ ▲4.學號查找▲ ※\n");/*按學號查看學生的信息*/</p><p>  printf("\t※ ▲

57、5.成績排序▲ ※\n");/*排序*/</p><p>  printf("\t※ ▲6.刪除信息▲ ※\n"); /*刪除學生信息*/ </p><p>  printf("\t※

58、 ▲7.保存信息▲ ※\n"); /*保存*/ </p><p>  printf("\t※ ▲8.打開文件▲ ※\n");/*打開文件*/ </p><p>  printf("\t※

59、 ▲9.退出系統(tǒng)▲ ※\n"); /*退出*/</p><p>  printf("\t※ ※\n");</p><p>  printf("\t※※※※※※※※※※※※※※※※※※※

60、※※※※※※※※※※※※\n\n");</p><p>  printf("請輸入選擇項(1-9):");</p><p>  scanf("%d",&n);</p><p>  printf("\n\n\n\n");</p><p>  if(n>0&

61、;&n<10)</p><p><b>  {</b></p><p><b>  switch(n)</b></p><p><b>  {</b></p><p>  case 1:type();break; /*調(diào)用鍵入學生信息函數(shù)*/</p>

62、<p>  case 2:look();break; /*調(diào)用查看函數(shù)*/</p><p>  case 3:search_name();break;/*調(diào)用姓名查看函數(shù)*/</p><p>  case 4:search_number();break;/*調(diào)用學號查看函數(shù)*/</p><p>  case 5:order();break;/*調(diào)用排序函

63、數(shù)*/</p><p>  case 6:del();break;/*調(diào)用刪除函數(shù)*/</p><p>  case 7:save();break;/*調(diào)用保存函數(shù)*/ </p><p>  case 8:see();break; </p><p>  case 9:printf("\t\t※※※※※※※※※※※※※※※※

64、※※※※※※※※\n");</p><p>  printf("\t\t※ ※\n");</p><p>  printf("\t\t※ 謝謝使用! ※\n");</p>&l

65、t;p>  printf("\t\t※ 再見! ※\n");</p><p>  printf("\t\t※ ※\n");</p><p>  printf("\t\t※※※※

66、※※※※※※※※※※※※※※※※※※※※\n");</p><p>  exit(0); </p><p><b>  } </b></p><p><b>  }</b></p><p><b>  else</b></p><p>  {

67、 system("CLS");</p><p>  printf("\t\t※※※※※※※※※※※※※※※※※※※※※※※※\n");</p><p>  printf("\t\t※ ※\n");</p><p>  p

68、rintf("\t\t※ 輸入錯誤! ※\n");</p><p>  printf("\t\t※ 請退出! ※\n");</p><p>  printf("\t\t※

69、 ※\n");</p><p>  printf("\t\t※※※※※※※※※※※※※※※※※※※※※※※※\n");</p><p>  printf("\n\n\n\t\t\t按任意鍵返回菜單");</p><p><b>  getch();</

70、b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void type() /*定義錄入學生信息函數(shù)*/</p><p><b>  {&l

71、t;/b></p><p>  system("CLS");</p><p>  int i; /*定義局部變量*/</p><p>  printf("\t\t輸出你想輸入的學生信息個數(shù):");</p><p>  scanf("%d",&n);</p&g

72、t;<p>  for(i=0;i<n;i++) /*輸入每個學生的信息*/</p><p><b>  {</b></p><p>  printf("\n\t\t\t----------------\n");</p><p>  printf("\t\t\t學號:");&

73、lt;/p><p>  scanf("%s",&stu[i].num); /*輸入學號*/</p><p>  printf("\t\t\t姓名:");</p><p>  scanf("%s",&stu[i].name); /*輸入姓名*/</p><p>  p

74、rintf("\t\t\t性別:");</p><p>  scanf("%s",&stu[i].sex); /*輸入性別*/</p><p>  printf("\t\t\t宿舍號:");</p><p>  scanf("%s",&stu[i].dno); /

75、*輸入宿舍*/</p><p>  printf("\t\t\t英語:");</p><p>  scanf("%d",&stu[i].english); /*輸入英語成績*/</p><p>  printf("\t\t\t數(shù)學:");</p><p>  scanf(&

76、quot;%d",&stu[i].math); /*輸入數(shù)學成績*/</p><p>  printf("\t\t\t語文:");</p><p>  scanf("%d",&stu[i].chinese); /*輸入語文成績*/</p><p>  stu[i].aver=((float)st

77、u[i].english+(float)stu[i].math+(float)stu[i].chinese)/3;/*計算平均成績*/</p><p>  stu[i].sum=(float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese;/*計算總成績*/</p><p>  printf("\t\t\t平均成績=

78、%4.1f\n",stu[i].aver); /*輸出平均成績*/</p><p>  printf("\t\t\t總成績=%4.1f\n",stu[i].sum); /*輸出總成績*/</p><p><b>  }</b></p><p>  printf("\n\t\t\t按任意鍵返回菜單!

79、!");</p><p><b>  getch();</b></p><p><b>  save();</b></p><p><b>  }</b></p><p>  void save() /*建立保存文件函數(shù)*/</p><p>

80、<b>  {</b></p><p>  system("CLS");</p><p>  FILE *fp; /*定義文件型指針*/</p><p><b>  int i;</b></p><p>  if((fp=fopen("student.txt&q

81、uot;,"wb"))==NULL) /*打開輸出文件*/</p><p><b>  {</b></p><p>  printf("不能打開文件!\n"); </p><p>  return; /*終止程序*/</p>&

82、lt;p><b>  }</b></p><p>  for(i=0;i<n;i++) /*向student文件中寫入信息*/</p><p>  if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p><p>  printf("文件寫入錯誤\n&quo

83、t;);</p><p>  fclose(fp); /*關(guān)閉文件*/</p><p>  printf("\n\n\n\n\t\t\t學生信息保存成功!\n");</p><p>  printf("\n\n\n\n\t\t\t按任意鍵返回菜單!!");</p><p><b> 

84、 getch();</b></p><p><b>  }</b></p><p>  void look() /*定義查看函數(shù)*/</p><p><b>  {</b></p><p>  system("CLS");</p><p>

85、;<b>  int i;</b></p><p>  //n=openl(); /*調(diào)用openl函數(shù)*/</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++) /*輸出所有的學生信息

86、*/</p><p><b>  {</b></p><p>  printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].

87、math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  }</b></p><p>  printf("\n\n\n\t\t\t按任意鍵返回菜單");</p><p><b>  getch();</b></p><p&g

88、t;<b>  }</b></p><p>  void search_name() /*按姓名查看函數(shù)*/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i;</b><

89、;/p><p>  char name[20]; /*聲明字符數(shù)組*/</p><p>  printf("\t\t\t請輸入學生姓名:\n");</p><p>  scanf("%s",name);</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t

90、平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].name,name)==0) /*將輸入的姓名與結(jié)構(gòu)體中的姓名進行比較*/</p><p><b>  {</b></p><p>  printf("

91、%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p>  printf("\

92、n\n\n\t\t\t按任意鍵返回菜單");</p><p><b>  }</b></p><p><b>  getch();</b></p><p><b>  }</b></p><p>  void search_number() /*定義按學號查看函數(shù)*

93、/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i;</b></p><p>  char number[15]; /*聲明字符數(shù)組*/</p><p>  prin

94、tf("\t\t\t請輸入學號:\n");</p><p>  scanf("%s",number);</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++)</p>

95、<p>  if(strcmp(stu[i].num,number)==0) /*將輸入的學號與結(jié)構(gòu)體中的學號進行比較*/</p><p>  printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dn

96、o,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p>  printf("\n\n\n\t\t\t按任意鍵返回菜單");</p><p><b>  getch();</b></p><p><b>  }</

97、b></p><p>  void order() /*定義排序函數(shù)*/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i,j;</b></p><p><b&g

98、t;  char a;</b></p><p>  struct student temp; /*聲明結(jié)構(gòu)體變量*/</p><p>  printf("學號\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++) /*對數(shù)據(jù)進行排序*/<

99、;/p><p><b>  {</b></p><p>  for(j=i+1;j<n;j++)</p><p>  if(stu[i].sum<stu[j].sum)</p><p><b>  {</b></p><p>  temp=stu[i];</p&

100、gt;<p>  stu[i]= stu[j];</p><p>  stu[j]=temp;</p><p><b>  }</b></p><p>  printf("%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,<

101、;/p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  }</b></p><p><b>  getch();</b></p><p&g

102、t;  printf("是否保存?(y or n)");</p><p>  getchar();</p><p>  scanf("%c",&a);</p><p>  if(a=='y') /*是否保存排序后的文件*/</p><p><b>  save();&

103、lt;/b></p><p><b>  else</b></p><p>  printf("退出");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  voi

104、d del() /*定義刪除學生信息函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  char a;</b></p><p>  char name[20];</p><p>

105、  system("CLS");</p><p>  printf("\t\t\t輸入學生名字:\n");</p><p>  scanf("%s",name);</p><p>  system("CLS");</p><p>  printf("學號

106、\t姓名\t性別\t宿舍\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].name,name)==0)</p><p><b>  {</b></p><p>  printf("

107、%s\t%s\t%s\t%s\t%d\t%d\t%d\t%.1f\t\t%.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i].sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  getch

108、();</b></p><p>  printf("真的刪除?(y or n)");</p><p>  getchar();</p><p>  scanf("%c",&a);</p><p>  if(a=='y') /*是否刪除該信息*/</p>

109、<p><b>  {</b></p><p>  for(;i<n;i++)</p><p>  stu[i]=stu[i+1];</p><p><b>  n=n-1;</b></p><p>  printf("你已經(jīng)刪除信息");</p>

110、<p><b>  }</b></p><p><b>  else</b></p><p>  printf("退出");</p><p><b>  getch();</b></p><p><b>  }</b><

111、;/p><p><b>  save();</b></p><p><b>  }</b></p><p>  int openl() /*定義打開文件函數(shù)*/</p><p><b>  {</b></p><p>  system("CLS

112、");</p><p><b>  int i;</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen("student.txt","rb"))==NULL)</p><p><b>

113、  {</b></p><p>  printf("Cannot open file.\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++)</p

114、><p>  fread(&stu[i],sizeof(struct student),1,fp);</p><p>  fclose(fp);</p><p>  return(i-1);</p><p><b>  }</b></p><p>  void see() /*打開并查看文

115、件*/</p><p><b>  {</b></p><p>  system("CLS");</p><p><b>  int i;</b></p><p>  n=openl();</p><p>  printf("文件打開成功!\n

116、");</p><p>  printf("按任意鍵查看!\n");</p><p><b>  getch();</b></p><p>  printf("學號\t姓名\t性別\t宿舍\t電話\t英語\t數(shù)學\t語文\t平均成績\t總成績\n");</p><p> 

117、 for(i=0;i<n;i++) /*輸出所有的學生信息*/</p><p><b>  {</b></p><p>  printf("%s\t%s\t%2s\t%s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,</p><p>  stu[i]

118、.sex,stu[i].dno,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);</p><p><b>  }</b></p><p>  printf("\n\n\n\t\t\t按任意鍵返回菜單");</p><p><b> 

119、 getch();</b></p><p><b>  }</b></p><p><b>  4、測試分析</b></p><p>  4.1 測試結(jié)果及分析</p><p>  根據(jù)主菜單提供的提示,即可進行相應(yīng)功能操作…</p><p><b> 

120、 1)輸入相關(guān)信息…</b></p><p><b>  2)查看相應(yīng)信息…</b></p><p><b>  3)姓名查找</b></p><p>  信息查詢到這兒就完了,快進行下一個模塊吧…</p><p><b>  4)按學號查詢</b></p&g

121、t;<p><b>  5)成績排序</b></p><p>  6)信息的刪除模塊…</p><p><b>  7)信息保存模塊…</b></p><p><b>  8)文件的打開</b></p><p><b>  9)退出系統(tǒng)</b>

122、;</p><p><b>  5、總結(jié)</b></p><p><b>  心得體會:</b></p><p>  我感受到了編程是一項非常煩瑣周密的活動,他不但需要一個人周密的思考問題的能力,處理問題的能力,還需要有足夠的耐心和嚴謹治學的作風,一個小小的錯誤都會導致結(jié)果運行不出來。</p><p&g

123、t;  在程序編寫中,我認識編寫一個系統(tǒng)不僅僅要有良好的用戶界面,良好的程序編寫風格也是相當重要的。只有良好的種程序編寫風格,程序代碼的可讀性才會好,開發(fā)的復雜度才能大大減少,檢查錯誤、修改代碼時才會更加容易下手。</p><p>  通過實際操作,學會 C語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會到了團隊協(xié)作的重要性。</p><p&

124、gt;  總之,通過這次實習,我也認識到了我自己在程序設(shè)計這門課程上的不足,在以后的學習實踐中,要更加的嚴謹踏實,對知識的把握要更加的細致入微,要活學活用,爭取在這個學科上取得更大的進步。</p><p><b>  6、參考文獻:</b></p><p>  [1]C語言入門與提高</p><p>  [2]C語言課程設(shè)計 云南大學出版社 (

溫馨提示

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

評論

0/150

提交評論