c語(yǔ)言課程設(shè)計(jì) (2)_第1頁(yè)
已閱讀1頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  C語(yǔ)言課程設(shè)計(jì)</b></p><p>  班 級(jí): </p><p>  姓 名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p><

2、;b>  設(shè)計(jì)時(shí)間: </b></p><p><b>  目 錄</b></p><p><b>  基本要求題 </b></p><p>  1.1 問(wèn)題描述………………………3</p><p>  1.2 源程序……………………………3</p><

3、;p>  1.3 流程圖……………………………6</p><p>  1.4 運(yùn)行結(jié)果…………………………7</p><p><b>  2.程序改錯(cuò)題</b></p><p>  2.1 源代碼……………………………7</p><p>  2.2 錯(cuò)誤分析…………………………7</p><p&

4、gt;  2.3 流程圖……………………………8</p><p>  2.4 運(yùn)行結(jié)果…………………………8</p><p><b>  3. 綜合題</b></p><p>  3.1.題目——成績(jī)管理系統(tǒng).........8</p><p>  3.2程序分工......................9</p

5、><p>  3.3設(shè)計(jì)思路.......................9</p><p>  3.4 程序源代碼....................10</p><p>  3.5 運(yùn)行結(jié)果......................</p><p>  3.6調(diào)試報(bào)告.......................</p>

6、<p>  4. 課程設(shè)計(jì)的心得體會(huì).............</p><p><b>  1.基本要求題</b></p><p><b>  1.1問(wèn)題描述</b></p><p>  用條件編譯方法實(shí)現(xiàn)以下功能:輸入一行電報(bào)文字,可以任選兩種輸出,一為原文輸出;一為將字母變成其下一字母(如’a’變成’b’……

7、….’z’變成’a’。其他字符不變)。用#define命令來(lái)控制是否要譯成密碼。例如:#define change 1 ,則輸出密碼。若#define change 0,則不譯成密碼,按原碼輸出。</p><p><b>  1.2源程序</b></p><p>  #include <stdio.h></p><p>  #def

8、ine CHANGE 1int  main(){ char c[100]; char *p;</p><p>  printf("input string\n");  scanf("%s", &c); p = c;  if(1 == CHANGE) {

9、60; while(*p != '\0')  {   if(*p >='a' && *p <='y'||*p >='A' && *p<='Y')    *p += 1;   else if(*p =='z'||

10、*p=='Z')    *p -= 25;       printf("%c", *p);    p++;  } }elseprintf("%s",c);  printf("\n"); return 0;}&l

11、t;/p><p><b>  1.3流程圖</b></p><p><b>  圖1 流程圖</b></p><p><b>  1.4運(yùn)行結(jié)果</b></p><p><b>  圖2 運(yùn)行結(jié)果</b></p><p><b&g

12、t;  2.程序改錯(cuò)題</b></p><p><b>  2.1源代碼</b></p><p>  #include <conio.h></p><p>  #include <stdio.h></p><p>  double fun (int m)</p><

13、p><b>  { </b></p><p>  double y=1.0;</p><p><b>  int i;</b></p><p>  for (i=2;i<m;i++) </p><p>  y-=1/(i*i);    return(y);</

14、p><p><b>  }</b></p><p><b>  main ()</b></p><p><b>  {</b></p><p><b>  int n=5;</b></p><p><b>  clrscr()

15、;</b></p><p>  printf("\nRhe result is %1f\n",fun(n)); }</p><p><b>  2.2錯(cuò)誤分析</b></p><p>  此程序意在借助于函數(shù)fun,求t=1-1/2*2-1/3*3-…-1/m*m。錯(cuò)誤之處在:露掉了i=m,應(yīng)把i&l

16、t; m改為i <=m;1的數(shù)據(jù)類型不搭配,應(yīng)把1改為1.0;沒(méi)有定義clrscr,應(yīng)將clrscr定義為void型。</p><p><b>  2.3流程圖</b></p><p>  圖3 t=1-1/2*2-1/3*3-…-1/m*m的流程圖</p><p><b>  2.4 運(yùn)行結(jié)果</b></p&

17、gt;<p>  圖4 t=1-1/2*2-1/3*3-…-1/m*m的運(yùn)行結(jié)果</p><p><b>  綜合題</b></p><p>  3.1題目 ——班級(jí)成績(jī)管理系統(tǒng)</p><p>  3.1.1問(wèn)題描述:</p><p>  對(duì)一個(gè)有N個(gè)學(xué)生的班級(jí),每個(gè)學(xué)生有M門課程。系統(tǒng)實(shí)現(xiàn)對(duì)班級(jí)成績(jī)的錄

18、入,顯示,排序,保存等操作的管理。</p><p>  3.1.2 功能要求:</p><p>  1. 本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:學(xué)號(hào),姓名,M門課程的名稱。</p><p>  2.本系統(tǒng)顯示這樣的菜單:</p><p><b>  a. 成績(jī)錄入</b></p>

19、<p><b>  b. 成績(jī)顯示</b></p><p><b>  c. 成績(jī)保存</b></p><p><b>  d. 成績(jī)排序</b></p><p>  e. 成績(jī)修改(要求先輸入密碼)</p><p><b>  f. 成績(jī)統(tǒng)計(jì)&

20、lt;/b></p><p> ?。?) 顯示每門課程成績(jī)最高學(xué)生的級(jí)本信息</p><p> ?。?) 顯示每門課成績(jī)的平均成績(jī)</p><p> ?。?) 顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)</p><p>  3.執(zhí)行一個(gè)具體功能后,程序?qū)⒅匦嘛@示菜單。</p><p>  4.將學(xué)生成績(jī)保存到文件中。&l

21、t;/p><p>  3.1.3 算法提示:</p><p>  1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組</p><p>  2. 數(shù)據(jù)庫(kù)結(jié)構(gòu):該系統(tǒng)的基本數(shù)據(jù)庫(kù)如表1所示。</p><p>  3.1.4 測(cè)試數(shù)據(jù):</p><p><b>  學(xué)生人數(shù)N=10</b></p><p&g

22、t;<b>  課程們數(shù)M=4</b></p><p>  課程名:數(shù)學(xué),語(yǔ)文,英語(yǔ),政治</p><p><b>  3.2程序分工:</b></p><p>  由李凱魏芳華,李麗,龐軍飛,王國(guó)龍共同完成。</p><p><b>  3.3設(shè)計(jì)思路</b></p&g

23、t;<p><b>  3.3.1 思路</b></p><p>  定義結(jié)構(gòu)體數(shù)組,定義結(jié)構(gòu)體成員num(學(xué)號(hào)),name(姓名),math(數(shù)學(xué)),chinese(語(yǔ)文),English(英語(yǔ)),politics(政治),sum(總分),來(lái)實(shí)現(xiàn)成員的引用。并且通過(guò)函數(shù)調(diào)用以及swich語(yǔ)句,來(lái)分別實(shí)現(xiàn)成績(jī)的錄入,顯示,保存,排序,修改與統(tǒng)計(jì)的的選擇的功能。</p>

24、;<p>  主函數(shù):通過(guò)外層用do—while語(yǔ)句,內(nèi)層用switch—case語(yǔ)句二者嵌套實(shí)現(xiàn)多次選則和循環(huán)。</p><p>  錄入功能函數(shù):通過(guò)for循環(huán)語(yǔ)句分別對(duì)結(jié)構(gòu)體變量進(jìn)行賦值。</p><p>  顯示功能函數(shù):通過(guò)for循環(huán)語(yǔ)句將錄入信息輸出。</p><p>  保存功能函數(shù):通過(guò)文件指針將數(shù)據(jù)保存到所要求的文件中。</p&

25、gt;<p>  排序功能函數(shù):通過(guò)運(yùn)用排冒泡排序法,對(duì)成員進(jìn)行總分由高到底排序。</p><p>  修改功能函數(shù):先進(jìn)行密碼驗(yàn)證,若正確,才能進(jìn)行修改,否則推出修改界面。進(jìn)入后,用動(dòng)do—while控制進(jìn)行多次循環(huán)修改,修改時(shí),用比較學(xué)號(hào)的方法,找到該同學(xué),對(duì)該同學(xué)的成績(jī)進(jìn)行修改。</p><p>  統(tǒng)計(jì)功能函數(shù):該函數(shù)分為三個(gè)部分,第一,每門課程的最高成績(jī);第二,平均

26、成績(jī);第三,超過(guò)平均成績(jī)的人數(shù),調(diào)用函數(shù)為do—while和switch—case語(yǔ)句來(lái)實(shí)現(xiàn)函數(shù)的調(diào)用,來(lái)實(shí)現(xiàn)該函數(shù)功能。</p><p>  統(tǒng)計(jì)每門課程的最高成績(jī)功能的函數(shù):通過(guò)“大擂臺(tái)法”用for循環(huán)語(yǔ)句來(lái)找出最高的成績(jī),同時(shí)輸出該同學(xué)成績(jī)。</p><p>  求平均成績(jī)函數(shù):通過(guò)總分和sum/科目數(shù)量來(lái)實(shí)現(xiàn)。</p><p>  求超過(guò)平均分的人數(shù):通過(guò)f

27、or循環(huán)讓他們每個(gè)人的該門課程與平均分比較,從而得出結(jié)果并輸出。</p><p><b>  3.3.2 流程圖</b></p><p>  圖3.31  主函數(shù)</p><p>  圖3.32 錄入功能函數(shù)</p><p>  圖3.34 保存功能函數(shù)</p><p>  圖3.35

28、排序功能函數(shù)</p><p>  圖3.36 統(tǒng)計(jì)功能函數(shù)</p><p>  圖3.37平均分功能函數(shù)</p><p>  圖3.38超過(guò)平均分功能函數(shù)</p><p>  圖3.39 最高分成績(jī)函數(shù)</p><p><b>  3.4 程序源代碼</b></p><p>

29、;  #include<stdio.h></p><p>  #include<string.h></p><p>  #include<conio.h></p><p>  #include<stdlib.h></p><p>  #define N 10</p><p&g

30、t;  /*定義結(jié)構(gòu)體數(shù)組*/ </p><p>  struct student </p><p><b>  {</b></p><p>  int num; </p><p>  char name[15]; </p><p>  float math,chine

31、se,English,politics,sum; </p><p>  }stu[N],temp;</p><p>  float max1,max2,max3,max4; /*定義全局變量*/</p><p>  double sum1,sum2,sum3,sum4;

32、/*定義全局變量*/</p><p>  double average1,average2,average3,average4; /*定義全局變量*/</p><p>  int main() /*主函數(shù)*/ </p><p><b>  {</b></p><p>

33、  void enter(); /*成績(jī)錄入函數(shù)*/</p><p>  void show(); /*成績(jī)顯示函數(shù)*/</p><p>  void store(); /*成績(jī)保存函數(shù)*/</p><p>  void rank(); /*成績(jī)排序函數(shù)*/</p><p>  void modity();

34、 /*成績(jī)修改函數(shù)*/</p><p>  void stat(); /*成績(jī)統(tǒng)計(jì)函數(shù)*/</p><p><b>  char ch;</b></p><p><b>  do</b></p><p><b>  {</b></p><p&

35、gt;  printf("\t#############################################\n");</p><p>  printf("\t#############################################\n");</p><p>  printf("\t# 班級(jí)成績(jī)

36、管理系統(tǒng) #\n");</p><p>  printf("\n\t#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#^#\n");</p><p>  printf("\t# 1:成績(jī)錄入 #\n");</p><p

37、>  printf("\t# 2:成績(jī)顯示 #\n");</p><p>  printf("\t# 3:成績(jī)保存 #\n");</p><p>  printf("\t# 4:成績(jī)排序 #\n&q

38、uot;);</p><p>  printf("\t# 5:成績(jī)修改 #\n");</p><p>  printf("\t# 6:成績(jī)統(tǒng)計(jì) #\n");</p><p>  printf("\t# 0

39、:退出系統(tǒng) #\n");</p><p>  printf("\t#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#\n");</p><p>  printf("\n\t\t請(qǐng)選擇0~6的操作:"); </p><p>  ch=getchar();

40、</p><p>  switch(ch)</p><p><b>  {</b></p><p>  case '1':enter();break;</p><p>  case '2':show();break;</p><p>  case '3

41、9;:store();break;</p><p>  case '4':rank();break;</p><p>  case '5':modity();break;</p><p>  case '6':stat();break;</p><p>  case '0':br

42、eak; </p><p><b>  } </b></p><p>  }while((ch=getchar())!='0');</p><p><b>  getch();</b></p><p><b>  return 0;</b></p&

43、gt;<p><b>  }</b></p><p>  void enter() /*成績(jī)錄入函數(shù)*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for(i=0;i<N;i++)

44、/*錄入成績(jī)存入數(shù)組*/</p><p><b>  { </b></p><p>  printf("輸入學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治成績(jī):\n");</p><p>  scanf("%d%s%f%f%f%f",&stu[i].num,stu[i].name,&s

45、tu[i].math,&stu[i].chinese,&stu[i].English,&stu[i].politics);</p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p>  stu[i].sum=stu[i].math+stu[i].chinese+s

46、tu[i].English+stu[i].politics;</p><p><b>  }</b></p><p>  void show() /*成績(jī)顯示函數(shù)*/ </p><p><b>  {</b></p><p><b>  int i;</b>&l

47、t;/p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治 成績(jī) 總分\n"); </p><p>  for(i=0;i<N;i++)</p><p>  printf("%d%7s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu[i].num,stu[

48、i].name,stu[i].math,stu[i].chinese,stu[i].English,stu[i].politics,stu[i].sum);</p><p><b>  }</b></p><p>  void store() /*成績(jī)保存函數(shù)*/</p><p><b>  {</b></

49、p><p><b>  int i;</b></p><p>  FILE *fp; /*初始化文件指針*/</p><p>  fp=fopen("e:\\chengji.txt","w+");</p><p>  fprintf(fp,"學(xué)號(hào) 姓名

50、 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治成績(jī) 總分\n");</p><p>  for(i=0;i<N;i++)</p><p>  fprintf(fp,"%d%12.2s%12.2f%12.2f%12.2f%12.2f%12.2f\n",stu[i].num,stu[i].name,stu[i].math,stu[i].chin

51、ese,stu[i].English,stu[i].politics,</p><p>  stu[i].sum);</p><p>  printf("\n\n*******************恭喜您,成績(jī)保存成功!*******************\n\n");</p><p><b>  }</b></p

52、><p>  void rank() /*成績(jī)排序函數(shù)*/ </p><p><b>  {</b></p><p>  int i,j; /*通過(guò)冒泡排序法進(jìn)行排序*/ </p><p>  f

53、or(j=1;j<N;j++) </p><p>  for(i=0;i<N-j;i++)</p><p>  if(stu[i].sum<stu[i+1].sum)</p><p><b>  { </b></p><p>  temp=stu[i];</p><p>

54、;  stu[i]=stu[i+1];</p><p>  stu[i+1]=temp;</p><p><b>  }</b></p><p>  printf("按總分從高到低排序?yàn)?\n");</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治

55、 成績(jī) 總分\n");</p><p>  for(i=0;i<N;i++)</p><p>  printf("%d%7.2s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu[i].num,stu[i].name,stu[i].math,stu[i].chinese,stu[i].English,stu[i].politi

56、cs,stu[i].sum);</p><p>  printf("\n");</p><p><b>  } </b></p><p>  void modity() /*成績(jī)修改函數(shù)*/</p><p><b>  {</b></p>&

57、lt;p>  int i,j,flag=1;</p><p><b>  char k;</b></p><p>  char str[10];</p><p>  int st[10];</p><p>  for(j=0;j<=2;j++)</p><p><b>  {

58、</b></p><p>  printf("\t\t$$密碼驗(yàn)證$$\t\n");</p><p>  printf("!!!!!!!三次輸入機(jī)會(huì)!!!!!!:\n");</p><p>  for(i=0;(str[i]=getch())!='\r';i++)</p><p&

59、gt;  printf("*");</p><p>  printf("\n");</p><p>  str[i]='\0';</p><p>  if(strcmp(str,"helmut")!=0)</p><p>  printf("密碼輸入有誤\n

60、"); </p><p>  else break; </p><p><b>  }</b></p><p><b>  if (j==3)</b></p><p><b>  return;</b>

61、;</p><p>  printf("密碼正確,登陸成功"); </p><p>  printf("\n\n\n");</p><p>  printf(" 進(jìn)入學(xué)生修改系統(tǒng) \n");</p><p>&

62、lt;b>  do</b></p><p><b>  {</b></p><p>  printf("請(qǐng)輸入要修改的學(xué)號(hào):");</p><p>  scanf("%d",&st[10]);</p><p>  for(i=0;i<N;i++)&l

63、t;/p><p><b>  {</b></p><p>  if(st[10]==stu[i].num)</p><p><b>  { </b></p><p>  printf("ok!\n");</p><p>  printf("輸出修改

64、前的信息:\n");</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué) 語(yǔ)文 英語(yǔ) 政治\n");</p><p>  printf("%d %s%7.2f%7.2f%7.2f%7.2f",stu[i].num,stu[i].name,stu[i].math,stu[i].chinese,stu[i].Eng

65、lish,stu[i].politics);</p><p>  printf("\n輸入修改的分?jǐn)?shù):\n");</p><p>  printf("數(shù)學(xué) 語(yǔ)文 英語(yǔ) 政治\n");</p><p>  scanf("%f%f%f%f",&stu[i].math,&stu[i

66、].chinese,&stu[i].English,&stu[i].politics);</p><p>  printf("修改完成\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b&

67、gt;  }</b></p><p>  printf ("輸入y繼續(xù)進(jìn)行操作,輸入n退出該系統(tǒng)"); </p><p>  scanf("%c",&k);</p><p>  if(k=='n'||k=='N')flag=0;</p><p>  

68、}while (flag==1);</p><p><b>  }</b></p><p>  void stat() /*成績(jī)統(tǒng)計(jì)*/</p><p><b>  {</b></p><p>  void max(); /*自定義顯示每門課程成績(jī)最高學(xué)生的基本

69、信息函數(shù)*/</p><p>  void average(); /*自定義顯示每門課程的平均成績(jī)函數(shù)*/</p><p>  void num(); /*自定義顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)函數(shù)*/</p><p><b>  int n;</b></p><p><b>  d

70、o{</b></p><p>  printf("1:顯示每門課程成績(jī)最高的學(xué)生的基本信息\n");</p><p>  printf("2:顯示每門課程的平均成績(jī)\n");</p><p>  printf("3:顯示超過(guò)某門課程平均成績(jī)的學(xué)生人數(shù)\n");</p><p&

71、gt;  printf("4:退出");</p><p>  printf("輸入選項(xiàng)代碼:");</p><p>  scanf("%d",&n);</p><p><b>  switch(n)</b></p><p><b>  {<

72、;/b></p><p>  case 1:max();break;</p><p>  case 2:average();break;</p><p>  case 3:num();break;</p><p>  case 4:break;</p><p><b>  }</b><

73、/p><p>  }while(n!=4);</p><p><b>  }</b></p><p>  void max() /*每科成績(jī)最高學(xué)生信息*/</p><p><b>  { </b></p><p>  int i,max1=0,m

74、ax2=0,max3=0,max4=0;</p><p>  for(i=1;i<N;i++) /*數(shù)學(xué)成績(jī)最高學(xué)生信息*/</p><p>  { </p><p>  if(stu[i].math>stu[max1].math)</p><p><b>  max1=i;</b&g

75、t;</p><p><b>  }</b></p><p>  printf("數(shù)學(xué)最高成績(jī)的學(xué)生基本信息:\n");</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治 成績(jī) 總分\n");</p><p>  printf(&qu

76、ot;%d%7.2s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu[max1].num,stu[max1].name,stu[max1].math,stu[max1].chinese,stu[max1].English,stu[max1].politics,stu[max1].sum);</p><p>  for(i=1;i<N;i++) /*語(yǔ)文成績(jī)

77、最高學(xué)生信息*/</p><p><b>  { </b></p><p>  if(stu[i].chinese>stu[max2].chinese)</p><p><b>  max2=i;</b></p><p><b>  }</b></p&

78、gt;<p>  printf("語(yǔ)文最高成績(jī)的學(xué)生基本信息:\n");</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治 成績(jī) 總分\n");</p><p>  printf("%d%7.2s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu

79、[max2].num,stu[max2].name,stu[max2].math,stu[max2].chinese,stu[max2].English,stu[max2].politics,stu[max2].sum);</p><p>  for(i=1;i<N;i++) /*英語(yǔ)成績(jī)最高學(xué)生信息*/</p><p><b>  { <

80、;/b></p><p>  if(stu[i].English>stu[max3].English)</p><p><b>  max3=i;</b></p><p><b>  }</b></p><p>  printf("英語(yǔ)最高成績(jī)的學(xué)生基本信息:\n")

81、;</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī) 語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治 成績(jī) 總分\n");</p><p>  printf("%d%7.2s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu[max3].num,stu[max3].name,stu[max3].math,stu[max3].c

82、hinese,stu[max3].English,stu[max3].politics,stu[max3].sum);</p><p>  for(i=1;i<N;i++) /*政治成績(jī)最高學(xué)生信息*/</p><p><b>  { </b></p><p>  if(stu[i].politics>s

83、tu[max4].politics)</p><p><b>  max4=i;</b></p><p><b>  }</b></p><p>  printf("政治最高成績(jī)的學(xué)生基本信息:\n");</p><p>  printf("學(xué)號(hào) 姓名 數(shù)學(xué)成績(jī)

84、語(yǔ)文成績(jī) 英語(yǔ)成績(jī) 政治 成績(jī) 總分\n");</p><p>  printf("%d%7.2s%10.2f%10.2f%10.2f%10.2f%10.2f\n",stu[max4].num,stu[max4].name,stu[max4].math,stu[max4].chinese,stu[max4].English,stu[max4].politics,stu[max

85、4].sum);</p><p><b>  }</b></p><p>  void average() /*平均成績(jī)*/</p><p><b>  {</b></p><p>  int i; </p><p><b>

86、  sum1=0;</b></p><p>  for(i=0;i<N;i++) /*數(shù)學(xué)平均成績(jī)*/</p><p><b>  { </b></p><p>  sum1=sum1+stu[i].math;</p><p><b>  }</b>

87、</p><p>  average1=sum1/N;</p><p>  printf("數(shù)學(xué)平均成績(jī)?yōu)椋?.1f\n",average1);</p><p>  sum2=0; /*語(yǔ)文平均成績(jī)*/ </p><p>  for(i=0;i<N;i++)</p>

88、<p><b>  { </b></p><p>  sum2=sum2+stu[i].chinese;</p><p><b>  }</b></p><p>  average2=sum2/N;</p><p>  printf("語(yǔ)文平均成績(jī)?yōu)椋?.1f\n&

89、quot;,average2);</p><p>  sum3=0; /*英語(yǔ)平均成績(jī)*/</p><p>  for(i=0;i<N;i++)</p><p><b>  { </b></p><p>  sum3=sum3+stu[i].English;</

90、p><p><b>  }</b></p><p>  average3=sum3/N;</p><p>  printf("英語(yǔ)平均成績(jī)?yōu)椋?.1f\n",average3);</p><p>  sum4=0; /*政治平均成績(jī)*/ </p>&

91、lt;p>  for(i=0;i<N;i++)</p><p><b>  { </b></p><p>  sum4=sum4+stu[i].politics;</p><p><b>  }</b></p><p>  average4=sum4/N;</p>

92、<p>  printf("政治平均成績(jī)?yōu)椋?.1f\n",average4);</p><p><b>  }</b></p><p>  void num() /*超過(guò)某門課平均成績(jī)?nèi)藬?shù)*/ </p><p><b>  {</b></p>

93、<p>  int num1,num2,num3,num4;</p><p>  int i,count1,count2,count3,count4;</p><p>  count1=0; </p><p>  for(i=0;i<N;i++) /*超過(guò)數(shù)學(xué)平均成績(jī)?nèi)藬?shù)*/</p

94、><p>  { </p><p>  if(stu[i].math>average1)</p><p><b>  count1++;</b></p><p><b>  }</b></p><p>  printf("超過(guò)數(shù)學(xué)平均成績(jī)的學(xué)生人

95、數(shù):%d\n",count1);</p><p>  count2=0; /*超過(guò)語(yǔ)文平均成績(jī)?nèi)藬?shù)*/ </p><p>  for(i=0;i<N;i++)</p><p><b>  { </b></p><p>  if(stu[i].chinese

96、>average2)</p><p><b>  count2++;</b></p><p><b>  }</b></p><p>  printf("超過(guò)語(yǔ)文平均成績(jī)的學(xué)生人數(shù):%d\n",count2);</p><p>  count3=0;

97、 /*超過(guò)英語(yǔ)平均成績(jī)?nèi)藬?shù)*/ </p><p>  for(i=0;i<N;i++)</p><p><b>  { </b></p><p>  if(stu[i].English>average3)</p><p><b>  count3++;</b&g

98、t;</p><p><b>  }</b></p><p>  printf("超過(guò)英語(yǔ)平均成績(jī)的學(xué)生人數(shù):%d\n",count3);</p><p>  count4=0; /*超過(guò)政治平均成績(jī)?nèi)藬?shù)*/ </p><p>  for(i=0;i<N;i+

99、+)</p><p>  { </p><p>  if(stu[i].politics>average4)</p><p><b>  count4++;</b></p><p><b>  }</b></p><p>  printf("

100、;超過(guò)政治平均成績(jī)的學(xué)生人數(shù):%d\n",count4);</p><p><b>  }</b></p><p><b>  3.5運(yùn)行結(jié)果</b></p><p>  圖3.5.1 初始界面截圖</p><p>  圖3.5.2 成績(jī)錄入截圖</p><

101、p>  圖3.5.3 成績(jī)顯示選項(xiàng)截圖</p><p>  圖3.5.4 成績(jī)顯示截圖</p><p>  圖3.5.5 成績(jī)總分從高到低排序截圖</p><p>  圖3.5.6 學(xué)生修改系統(tǒng)截圖</p><p>  圖3.5.7 每門課學(xué)生最高成績(jī)信息截圖</p><p>  

102、圖3.5.8 每門課程平均分及超過(guò)平均分學(xué)生人數(shù)截圖</p><p>  3.5.9 退出系統(tǒng)截圖</p><p><b>  3.6調(diào)試報(bào)告</b></p><p>  3.6.1 主要問(wèn)題及分析:</p><p>  a.由于題目較復(fù)雜,編寫(xiě)過(guò)程中有一些步驟省略了。</p><p&

103、gt;  b.過(guò)程過(guò)于復(fù)雜,所以之后對(duì)程序做的一些修改未在流程圖中表示出來(lái)。</p><p>  c.調(diào)整試過(guò)程中,一些小問(wèn)題不容易發(fā)現(xiàn),在調(diào)試完成后,每做一點(diǎn)小的修改,都牽一發(fā)而動(dòng)全身,不太好改。</p><p>  d.主函數(shù)與各個(gè)環(huán)節(jié)的銜接比較有難度,所以每個(gè)人都對(duì)全過(guò)程進(jìn)行了深入了解,否則無(wú)法進(jìn)行各環(huán)節(jié)整合。</p><p>  3.6.2 改進(jìn)思想:<

104、;/p><p>  在對(duì)上述問(wèn)題解決了的前提下,可以使用文件功能進(jìn)行保存!</p><p>  4.課程設(shè)計(jì)的心得體會(huì)</p><p>  歷時(shí)二周的C語(yǔ)言課程設(shè)計(jì),讓我受益匪淺。</p><p>  剛剛拿到題目時(shí),我自己選了兩個(gè)小題開(kāi)始編程,有個(gè)題用到了指針,但對(duì)于指針,我們?cè)谡n堂上沒(méi)有大講,我也從來(lái)沒(méi)有用這些東西編寫(xiě)過(guò)什么程序。于是我就開(kāi)始

105、把課本上指針那塊詳細(xì)的看了一下,然后自己開(kāi)始編寫(xiě),當(dāng)我把程序輸入到電腦上時(shí),出現(xiàn)了好多錯(cuò)誤,我就認(rèn)真修改,有些自己找不到錯(cuò)誤的地方我請(qǐng)教了同學(xué),最后終于正確了。接著又是不會(huì)畫(huà)流程圖,我又開(kāi)始看課本,也在網(wǎng)上多找了幾個(gè)流程圖仔細(xì)看了看,最后自己畫(huà)出了流程圖。</p><p>  最后的那個(gè)綜合題,我們是小組分工做的,我做的是成績(jī)保存,開(kāi)始時(shí)我是自己編寫(xiě),可是錯(cuò)誤很多,因?yàn)槔锩嬗玫搅撕芏辔也皇煜さ闹羔?、文件方面的知識(shí)

106、,改了好多次都找不到錯(cuò)誤,最后就在網(wǎng)上找了一個(gè),可運(yùn)行還是有錯(cuò)誤,最后經(jīng)過(guò)修改終于正確了。</p><p>  這次課程設(shè)計(jì)下來(lái),我收獲了不少東西:1、自己編程序,改程序我覺(jué)得自己的C語(yǔ)言進(jìn)步不少;2、通過(guò)我們分工,加強(qiáng)了我們團(tuán)體合作精神;3、我們經(jīng)受了自己因編寫(xiě)失敗的打擊,鍛煉了自己承受挫折的能力;4、通過(guò)制作自己的作業(yè),我學(xué)到了許多電腦方面的知識(shí),比如:怎樣截屏,如何用電腦流利地畫(huà)圖,加深了對(duì)windows的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論