久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2368|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

C程序設(shè)計課程實踐:學生成績管理系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:268159 發(fā)表于 2017-12-28 09:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
北京信息科技大學
課程設(shè)計報告

課程名稱    C程序設(shè)計課程實踐
    學生考試成績統(tǒng)計分析
指導(dǎo)教師                   
設(shè)計起止日期
設(shè)計地點                           


          信息管理學院      
    業(yè)  __信息管理與信息系統(tǒng)_
姓名/學號                      


  
1.  課程實踐目的:
  通過本實踐使學生對函數(shù)、數(shù)組、結(jié)構(gòu)體、指針有更深入的了解,在實際應(yīng)用中學會使用C語言編寫程序解決具體問題。
  
  
  2. 課程實踐內(nèi)容:
  編寫一程序,能實現(xiàn)對某班學生三門課程考試成績(高數(shù)、英語、體育)的統(tǒng)計與分析,具體功能如下:
  
a)         能進行學生信息(學號、姓名)和三門課程成績的錄入;
  
b)         能計算出總成績的最高分、最低分、平均分;
  
c)         能統(tǒng)計總成績在各分值段的成績比例及及格率,如下表所示:
  
   
 
   
   
 
   
   
270~300
   
   
 
   
   
240~269
   
   
 
   
   
 
   
   
 
   
   
210~239
   
   
 
   
   
180~209
   
   
 
   
   
 
   
   
150~179
   
   
 
   
   
149以下
   
   
及格率
   
   
成績
   
   
 
   
   
7
   
   
   
   
 
   
   
16
   
   
   
   
 
   
   
 
   
   
 
   
   
16
   
   
   
   
 
   
   
19
   
   
   
   
 
   
   
 
   
   
12
   
   
   
   
 
   
   
12
   
   
   
   
70.73%
   
   
分布
   
   
 
   
   
8.54%
   
   
19.51%
   
   
19.51%
   
   
23.17%
   
   
14.63%
   
   
14.63%
   























  
  d)       可按總評成績排序(降序),并在屏幕顯示;
  
e)         能按學號或姓名查詢某個學生的成績信息;
  要求:學生個人信息和成績用結(jié)構(gòu)體數(shù)組(學號、姓名、高數(shù)、英語、體育、總成績)表示;每個功能都獨立編寫一個函數(shù)實現(xiàn)。
  
  
  3. 實踐步驟:
  
  4. 實踐總結(jié):
  
  
  
  
  
  
  
  

  1.   
  2. #include "conio.h"
  3. #include "stdio.h"
  4. #include "string.h"
  5. struct stu{
  6. char name[20];
  7. char xh[20];
  8. float score[20],zf,pj;}student[60];
  9. int clen=0;
  10. char course[10][20];
  11. FILE *fp;
  12. FILE *f;
  13. int len;
  14. main()
  15. {int i=0,j;
  16. textcolor(YELLOW);
  17. textbackground(10);
  18. zhuzuo();
  19. clrscr();
  20. if((fp=fopen("course.txt","r"))!=NULL)
  21.   {while(!feof(fp))
  22.    fgets(course[clen++],20,fp);
  23. for(i=0;course[i][0]!='\0';i++)
  24. {for(j=0;course[i][j]!='\0';j++)
  25. if(course[i][j]=='\n')course[i][j]='\0';}     }
  26. else {printf(" 文件不存在,請創(chuàng)建course.txt文件!\n");
  27.       printf("注意事項請參看readme.txt\n");
  28.       delay(100000);
  29.       delay(100000);
  30.       exit(0);}
  31. chushihua();
  32. clen--;
  33. if(len>0)len--;
  34. while(1)
  35. {clrscr();
  36.    printf("            --------成績管理系統(tǒng)--------\n");
  37.    printf("            -----1.輸入--\n");
  38.    printf("            -----2.輸出--\n");
  39.    printf("            -----3.查詢--\n");
  40.    printf("            -----4.求平均--\n");
  41.    printf("            -----5.求總成績--\n");
  42.    printf("            -----6.排序--\n");
  43.    printf("            -----7.刪除--\n");
  44.    printf("            -----8.插入--\n");
  45.    printf("            -----9.修改--\n");
  46.    printf("            -----0.退出--\n");
  47.    printf("            -----------------------------\n");
  48. switch(getche())
  49. {case '1':shuru();break;
  50. case '2':shuchu();break;
  51. case '3':chaxun();break;
  52. case '4':qiuping();break;
  53. case '5':qiuzong();break;
  54. case '6':paixu();break;
  55. case '7':shanchu();break;
  56. case '8':charu();break;
  57. case '9':xiugai();break;
  58. case '0':chuwen();
  59.          printf("\n\n       正在退出.....");delay(10000);
  60.          exit(0);break;
  61. default:printf("輸入錯誤!\n");
  62.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  63.         getche();
  64.         continue;
  65. }
  66. }
  67. fcloseall();}

  68. shuru()
  69. {
  70. while(1)
  71. {clrscr();
  72.   printf("--1.從屏幕輸入--\n");
  73.   printf("--0.返回上一級菜單--\n");
  74.   switch(getche())
  75. {case '1':pinru();break;
  76.   case '0':return;
  77.   default:printf("輸入錯誤!\n");
  78.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  79.         getche();
  80.         continue;}
  81.       
  82. }}
  83. pinru()
  84. {char yn;
  85. int i,j;char name1[20],xh1[20];float p[15];
  86. while(1){
  87. q:clrscr();
  88. fflush(stdin);
  89. printf("請輸入姓名:");
  90. gets(name1);
  91. printf("請輸入學號:");
  92. gets(xh1);
  93. fflush(stdin);
  94. for(i=0;i<clen;i++)
  95. {printf("請輸入%s成績:",course[i]);
  96. scanf("%f",&p[i]);fflush(stdin);}
  97. if(name1[0]=='\0'||name1[0]=='\n'||xh1[0]=='\0'||xh1[0]=='\n')
  98. {printf("\n\n        輸入錯誤,請按任意鍵重輸!\n");getch();goto q;}
  99. printf("\n\n             確認要讀入這些數(shù)據(jù)嗎(Y/N)");
  100. yn=getche();
  101. if(yn=='y'||yn=='Y')
  102. {strcpy(student[len].name,name1);
  103. strcpy(student[len].xh,xh1);
  104. for(i=clen-1;i>=0;i--)
  105. student[len].score[i]=p[i];
  106. len++;}
  107. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  108. yn=getche();
  109. if(!(yn=='y'||yn=='Y'))
  110. break;}}


  111. shuchu()
  112. {
  113. while(1)
  114. {clrscr();
  115. printf("--1.輸出到屏幕--\n");
  116. printf("--2.輸出到文件--\n");
  117. printf("--0.返回上一級菜單--\n");
  118.   switch(getche())
  119. {case '1':chupin();break;
  120.   case '2':chuwen();break;
  121. case '0':return;
  122.   default:printf("輸入錯誤!\n");
  123.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  124.         getche();
  125.         continue;}
  126. }
  127. }
  128. chupin()
  129. {char yn;
  130. int i,j,k=0,m=1;
  131. while(1)
  132. {clrscr();
  133. if(len==0)
  134. {printf("\n\n        無記錄!\n");
  135. printf("按任意鍵返回...\n");
  136. getch();
  137. break;}
  138. a: printf("\nNO.  姓名              學號              ");
  139. for(i=0;i<clen;i++)
  140. printf("%s    ",course[i]);
  141. printf("總成績    平均分    \n");
  142. for(;k<len;k++)
  143. {printf("%-4d%-18s%-18s",m++,student[k].name,student[k].xh);
  144.   for(j=0;j<clen;j++)
  145.    printf("%-10.2f",student[k].score[j]);
  146.    printf("%-10.2f%-10.2f",student[k].zf,student[k].pj);
  147.    printf("\n\n");
  148. if(k%6==0&&k!=0){
  149. printf("按任意鍵繼續(xù)....");
  150. getch();
  151. clrscr();
  152. k++;
  153. goto a;}}
  154. printf("\n\n\n           還想在瀏覽一遍嗎(Y/N)");
  155. yn=getche();
  156. if(!(yn=='y'||yn=='Y'))
  157. break;
  158. else {i=k=0;m=1;}
  159.   }
  160. }
  161. chuwen()
  162. {char yn;
  163. int k;
  164. f=fopen("chengji.dat","wb+");
  165. for(k=0;k<len;k++)
  166. fwrite(&student[k],sizeof(struct stu),1,f);
  167. printf("\n\n\n           按任意鍵結(jié)束 ......");
  168. getch();
  169. fclose(f);}

  170. chaxun()
  171. {
  172. while(1)
  173. {clrscr();
  174. printf("--1.按學號查詢--\n");
  175. printf("--2.按姓名查詢--\n");
  176. printf("--3.按成績查詢--\n");
  177. printf("--0.返回上一級菜單--\n");
  178.   switch(getche())
  179. {case '1':chaxue();break;
  180.   case '2':chaxing(); break;
  181.   case '3':chacheng(); break;
  182.   case '0':return;
  183.   default:printf("輸入錯誤!\n");
  184.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  185.         getche();
  186.         continue;}
  187. }}

  188. chaxue()
  189. {
  190. while(1){clrscr();
  191. printf("          ----1.精確查詢----\n");
  192. printf("          ----2.模糊查詢----\n");
  193. printf("          ----0.返回上一級菜單----\n");
  194. switch(getch())
  195. {case '1':jingxue();break;
  196.   case '2':moxue();break;
  197.   case '0':return;}}}

  198. jingxue()
  199. {int i,p=0;
  200. char xh1[20],yn;
  201. while(1)
  202. {clrscr();
  203. printf("\n       請輸入要查詢的學號:");
  204. gets(xh1);
  205. fflush(stdin);
  206. clrscr();
  207. printf("  查詢結(jié)果如下:\n");
  208. for(i=0;i<len;i++)
  209. if(strcmp(xh1,student[i].xh)==0)
  210. {p++; chashu(i,p); }
  211. if(p==0) printf("\n\n     無此記錄!\n");
  212. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  213. yn=getch();
  214. if(!(yn=='y'||yn=='Y'))
  215. break;}}


  216. moxue()
  217. {int i,j=0,k,p=0,flag,m=0;
  218. char xh1[20],yn;
  219. while(1)
  220. {clrscr();
  221. printf("\n       請輸入要查詢的學號或?qū)W號的子串:");
  222. gets(xh1);
  223. fflush(stdin);
  224. clrscr();
  225. printf("  查詢結(jié)果如下:\n");
  226. for(i=0;i<len;i++)
  227. {m=0;flag=0;
  228. while(student[i].xh[m]!='\0')
  229.   {j=m;k=0;
  230.    while(student[i].xh[j]==xh1[k])
  231.     {j++;k++;
  232.      if(xh1[k]=='\0') {flag=1;break;}}
  233.      if(flag) {p++; chashu(i,p);break; }
  234.       m++;}}
  235.     if(p==0) printf("\n\n     無此記錄!\n");
  236. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  237. yn=getch();
  238. if(!(yn=='y'||yn=='Y'))
  239. break;}}

  240. chaxing()
  241. {
  242. while(1){clrscr();
  243. printf("          ----1.精確查詢----\n");
  244. printf("          ----2.模糊查詢----\n");
  245. printf("          ----0.返回上一級菜單----\n");
  246. switch(getch())
  247. {case '1':jingxing();break;
  248.   case '2':moxing();break;
  249.   case '0':return;}}}

  250. jingxing()
  251. {int i,p=0;
  252. char xm1[20],yn;
  253. while(1)
  254. {clrscr();
  255. printf("\n       請輸入要查詢的姓名:");
  256. gets(xm1);
  257. fflush(stdin);
  258. clrscr();
  259. printf("  查詢結(jié)果如下:\n");
  260. for(i=0;i<len;i++)
  261. if(strcmp(xm1,student[i].name)==0)
  262. {p++; chashu(i,p); }
  263. if(p==0) printf("\n\n     無此記錄!\n");
  264. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  265. yn=getch();
  266. if(!(yn=='y'||yn=='Y'))
  267. break;}}


  268. moxing()
  269. {int i,j=0,k,p=0,flag,m=0;
  270. char xm1[20],yn;
  271. while(1)
  272. {clrscr();
  273. printf("\n       請輸入要查詢的姓名或姓名的子串:");
  274. gets(xm1);
  275. fflush(stdin);
  276. clrscr();
  277. printf("  查詢結(jié)果如下:\n");
  278. for(i=0;i<len;i++)
  279. {m=0;flag=0;
  280. while(student[i].name[m]!='\0')
  281.   {j=m;k=0;
  282.    while(student[i].name[j]==xm1[k])
  283.     {j++;k++;
  284.      if(xm1[k]=='\0') {flag=1;break;}}
  285.      if(flag) {p++; chashu(i,p);break; }
  286.       m++;}}
  287.     if(p==0) printf("\n\n     無此記錄!\n");
  288. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  289. yn=getch();
  290. if(!(yn=='y'||yn=='Y'))
  291. break;}}

  292. chacheng()
  293. {
  294. while(1){clrscr();
  295. printf("          ----1.查詢平均分----\n");
  296. printf("          ----2.查詢總成績----\n");
  297. printf("          ---3.查詢某門課成績----\n");
  298. printf("          ----0.返回上一級菜單----\n");
  299. switch(getch())
  300. {case '1':chaping();break;
  301.   case '2':chazong();break;
  302.   case '3':chakecheng();break;
  303.   case '0':return;}}}
  304. chaping()
  305. {
  306. clrscr();
  307. printf("          總成績查詢\n");
  308. printf("\n         請選擇以下操作功能\n");
  309. printf("1. > \n");
  310. printf("2. >= \n");
  311. printf("3. < \n");
  312. printf("4. <= \n");
  313. printf("5. != \n");
  314. printf("6. == \n");
  315. printf("7. between(成績1,成績2) \n");
  316. s: switch(getch())
  317. {case '1':dayu(-1,1);break;
  318. case '2':dadeng(-1,1);break;
  319. case '3':xiaoyu(-1,1);break;
  320. case '4':xiaodeng(-1,1);break;
  321. case '5':budeng(-1,1);break;
  322. case '6':deng(-1,1);break;
  323. case '7':between(-1,1);break;
  324. default:printf("按鍵錯誤,請按任意鍵返回重選擇功能!");
  325.         getch();goto s;}
  326. }        

  327. chazong()
  328. {
  329. clrscr();
  330. printf("          平均分查詢\n");
  331. printf("\n         請選擇以下操作功能\n");
  332. printf("1. > \n");
  333. printf("2. >= \n");
  334. printf("3. < \n");
  335. printf("4. <= \n");
  336. printf("5. != \n");
  337. printf("6. == \n");
  338. printf("7. between(成績1,成績2) \n");
  339. s: switch(getch())
  340. {case '1':dayu(-1,2);break;
  341. case '2':dadeng(-1,2);break;
  342. case '3':xiaoyu(-1,2);break;
  343. case '4':xiaodeng(-1,2);break;
  344. case '5':budeng(-1,2);break;
  345. case '6':deng(-1,2);break;
  346. case '7':between(-1,2);break;
  347. default:printf("按鍵錯誤,請按任意鍵返回重選擇功能!");
  348.         getch();
  349.          goto s;}}


  350. chakecheng()
  351. {int i=0,d,k=1;
  352. clrscr();
  353. printf("     課程如下:\n");
  354. A: for(;i<clen;i++)
  355.   {printf("%d.   %s\n",k++,course[i]);
  356.    if((i+1)%10==0)
  357.    {printf("    按任意鍵繼續(xù)...");getch();i++;goto A;}}
  358. printf("  請選擇要求平均分的的課程編號");
  359. printf("(1--%d):",clen);
  360. scanf("%d",&d);
  361. if(d>clen||d<1)
  362. {printf("\n\n課程編號錯誤,請按任意鍵重輸\n\n");
  363.   getch();
  364.   clrscr();
  365.   goto A;}
  366. S: clrscr();
  367. printf("\n         請選擇以下操作功能\n");
  368. printf("1. > \n");
  369. printf("2. >= \n");
  370. printf("3. < \n");
  371. printf("4. <= \n");
  372. printf("5. != \n");
  373. printf("6. == \n");
  374. printf("7. between(成績1,成績2) \n");
  375. switch(getch())
  376. {case '1':dayu(d-1,3);break;
  377. case '2':dadeng(d-1,3);break;
  378. case '3':xiaoyu(d-1,3);break;
  379. case '4':xiaodeng(d-1,3);break;
  380. case '5':budeng(d-1,3);break;
  381. case '6':deng(d-1,3);break;
  382. case '7':between(d-1,3);break;
  383. default:printf("按鍵錯誤,請按任意鍵返回重選擇功能!");
  384.         getch();
  385.          goto S;}}

  386. dayu(int i,int flag)
  387. {int k,p=0;
  388. char yn;
  389. float cj;
  390. while(1)
  391. {clrscr();p=0;
  392. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  393. else if(flag==2)printf("請輸入要查詢的總成績:");
  394. else if(flag==1)printf("請輸入要查詢的平均成績:");
  395. scanf("%f",&cj);
  396. for(k=0;k<len;k++)
  397. { if(flag==3)
  398.    if(student[k].score[i]>cj)
  399.     {p++;chashu(k,p);}
  400.   if(flag==2)
  401.    if(student[k].zf>cj)
  402.     {p++;chashu(k,p);}
  403. if(flag==1)
  404.    if(student[k].pj>cj)
  405.     {p++;chashu(k,p);}}
  406. if(p==0) printf("無符合條件的記錄!");
  407. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  408. yn=getch();
  409. if(!(yn=='y'||yn=='Y'))
  410. break;}}


  411. dadeng(int i,int flag)
  412. {int k,p=0;
  413. char yn;
  414. float cj;
  415. while(1)
  416. {clrscr();p=0;
  417. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  418. else if(flag==2)printf("請輸入要查詢的總成績:");
  419. else if(flag==1)printf("請輸入要查詢的平均成績:");
  420. scanf("%f",&cj);
  421. for(k=0;k<len;k++)
  422. { if(flag==3)
  423.    if(student[k].score[i]>=cj)
  424.     {p++;chashu(k,p);}
  425.   if(flag==2)
  426.    if(student[k].zf>=cj)
  427.     {p++;chashu(k,p);}
  428. if(flag==1)
  429.    if(student[k].pj>=cj)
  430.     {p++;chashu(k,p);}}
  431. if(p==0)printf("無符合條件的記錄!");
  432. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  433. yn=getch();
  434. if(!(yn=='y'||yn=='Y'))
  435. break;}}



  436. xiaoyu(int i,int flag)
  437. {int k,p=0;
  438. char yn;
  439. float cj;
  440. while(1)
  441. {clrscr();p=0;
  442. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  443. else if(flag==2)printf("請輸入要查詢的總成績:");
  444. else if(flag==1)printf("請輸入要查詢的平均成績:");
  445. scanf("%f",&cj);
  446. for(k=0;k<len;k++)
  447. { if(flag==3)
  448.    if(student[k].score[i]<cj)
  449.     {p++;chashu(k,p);}
  450.   if(flag==2)
  451.    if(student[k].zf<cj)
  452.     {p++;chashu(k,p);}
  453. if(flag==1)
  454.    if(student[k].pj<cj)
  455.     {p++;chashu(k,p);}}
  456. if(p==0)printf("無符合條件的記錄!");
  457. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  458. yn=getch();
  459. if(!(yn=='y'||yn=='Y'))
  460. break;}}



  461. xiaodeng(int i,int flag)
  462. {int k,p=0;
  463. char yn;
  464. float cj;
  465. while(1)
  466. {clrscr();p=0;
  467. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  468. else if(flag==2)printf("請輸入要查詢的總成績:");
  469. else if(flag==1)printf("請輸入要查詢的平均成績:");
  470. scanf("%f",&cj);
  471. for(k=0;k<len;k++)
  472. { if(flag==3)
  473.    if(student[k].score[i]<=cj)
  474.     {p++;chashu(k,p);}
  475.   if(flag==2)
  476.    if(student[k].zf<=cj)
  477.     {p++;chashu(k,p);}
  478. if(flag==1)
  479.    if(student[k].pj<=cj)
  480.     {p++;chashu(i,p);}}
  481. if(p==0)printf("無符合條件的記錄!");
  482. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  483. yn=getch();
  484. if(!(yn=='y'||yn=='Y'))
  485. break;}}


  486. budeng(int i,int flag)
  487. {int k,p=0;
  488. char yn;
  489. float cj;
  490. while(1)
  491. {clrscr();p=0;
  492. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  493. else if(flag==2)printf("請輸入要查詢的總成績:");
  494. else if(flag==1)printf("請輸入要查詢的平均成績:");
  495. scanf("%f",&cj);
  496. for(k=0;k<len;k++)
  497. { if(flag==3)
  498.    if(student[k].score[i]!=cj)
  499.     {p++;chashu(k,p);}
  500.   if(flag==2)
  501.    if(student[k].zf!=cj)
  502.     {p++;chashu(k,p);}
  503. if(flag==1)
  504.    if(student[k].pj!=cj)
  505.     {p++;chashu(k,p);}}
  506. if(p==0)printf("無符合條件的記錄!");
  507. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  508. yn=getch();
  509. if(!(yn=='y'||yn=='Y'))
  510. break;}}



  511. deng(int i,int flag)
  512. {int k,p=0;
  513. char yn;
  514. float cj;
  515. while(1)
  516. {clrscr();p=0;
  517. if(flag==3)printf("請輸入要查詢的%s成績:",course[i]);
  518. else if(flag==2)printf("請輸入要查詢的總成績:");
  519. else if(flag==1)printf("請輸入要查詢的平均成績:");
  520. scanf("%f",&cj);
  521. for(k=0;k<len;k++)
  522. { if(flag==3)
  523.    if(student[k].score[i]==cj)
  524.     {p++;chashu(k,p);}
  525.   if(flag==2)
  526.    if(student[k].zf==cj)
  527.     {p++;chashu(k,p);}
  528. if(flag==1)
  529.    if(student[k].pj==cj)
  530.     {p++;chashu(k,p);}}
  531. if(p==0)printf("無符合條件的記錄!");
  532. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  533. yn=getch();
  534. if(!(yn=='y'||yn=='Y'))
  535. break;}}


  536. between(int i,int flag)
  537. {int k,p=0;
  538. char yn;
  539. float cj1,cj2;
  540. while(1)
  541. {clrscr();p=0;
  542. printf("輸入的 ”成績1“ 一定要小于 “成績2“\n");
  543. printf("請輸入要查詢的%s成績1:",course[i]);
  544. scanf("%f",&cj1);
  545. printf("請輸入要查詢的%s成績2:",course[i]);
  546. scanf("%f",&cj2);
  547. for(k=0;k<len;k++)
  548. { if(flag==3)
  549.    if(student[k].score[i]>=cj1&&student[k].score[i]<=cj1)
  550.     {p++;chashu(k,p);}
  551.   if(flag==2)
  552.    if(student[k].zf>=cj1&&student[k].zf<=cj1)
  553.     {p++;chashu(k,p);}
  554. if(flag==1)
  555.    if(student[k].pj>=cj1&&student[k].pj<=cj1)
  556.     {p++;chashu(k,p);}}
  557. if(p==0)printf("無符合條件的記錄!");
  558. printf("\n\n        還繼續(xù)嗎(Y/N).....");
  559. yn=getch();
  560. if(!(yn=='y'||yn=='Y'))
  561. break;}}



  562. chashu(int i,int p)
  563. {int k;
  564. if(p%5==0){printf("按任意鍵繼續(xù).....");getch();clrscr();}
  565. printf("\nNO.  姓名              學號              ");
  566. for(k=0;k<clen;k++)
  567. printf("%s    ",course[k]);
  568. printf("總成績    平均分    \n");
  569. printf("%-4d%-18s%-18s",i+1,student[i].name,student[i].xh);
  570.   for(k=0;k<clen;k++)
  571.    printf("%-10.2f",student[i].score[k]);
  572.    printf("%-10.2f%-10.2f",student[i].zf,student[i].pj);
  573.    printf("\n\n");
  574. }

  575. qiuping()
  576. {
  577. while(1)
  578. {clrscr();
  579. printf("--1.求個人平均--\n");
  580. printf("--2.求集體平均--\n");
  581. printf("--3.某門課的平均--\n");
  582. printf("--0.返回上一級菜單--\n");
  583. switch(getche())
  584. {case '1':pingge();break;
  585. case '2':pingji();break;
  586. case '3':pingmen();break;
  587. case '0':return;
  588. default:printf("輸入錯誤!\n");
  589.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  590.         getche();
  591.         continue;}}}


  592. pingmen()
  593. {int i=0,j,k=1,d;
  594. char yn;
  595. double zf1=0;
  596. while(1){
  597. clrscr();
  598. printf("     課程如下:\n");
  599. A:for(;i<clen;i++)
  600. {printf("%d.   %s\n",k++,course[i]);
  601. if((i+1)%10==0)
  602. {printf("    按任意鍵繼續(xù)...");getch();i++;goto A;}}
  603. f:printf("  請選擇要求平均分的的課程編號");
  604. printf("(1--%d):",clen);
  605. scanf("%d",&d);
  606. if(d>clen||d<1)
  607. {printf("\n課程編號錯誤,請按任意鍵重輸\n");getch(); clrscr(); goto f;}
  608. for(i=0;i<len;i++)
  609. zf1+=student[i].score[d-1];
  610. printf("\n班級的%s平均分為:\n",course[d-1]);
  611. printf("       %-10.2f",zf1/len);
  612. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  613. yn=getche();
  614. if(!(yn=='y'||yn=='Y'))
  615.   break;}
  616.   printf("\n\n按任意鍵返回菜單....");
  617.   getch();
  618. }
  619.    

  620. pingge()
  621. {int i,j,k=0,m=1;char yn;
  622. clrscr();
  623. for(i=0;i<len;i++)
  624.   {student[i].zf=0;
  625.     for(j=0;j<clen;j++)
  626.      student[i].zf+=student[i].score[i];
  627.    student[i].pj=student[i].zf/(clen-1);}
  628.   printf("\n\n      計算完畢,輸出嗎(Y/N)");
  629.   yn=getch();
  630. a:if(!(yn=='y'||yn=='Y'))
  631.    return;
  632.    else
  633.      {printf("\nNO.  姓名              學號              平均分\n");
  634.    for(;k<len;k++)
  635.    {printf("%-4d%-18s%-18s",m++,student[k].name,student[k].xh);
  636.     printf("%-10.2f",student[k].pj);
  637.     printf("\n\n");
  638.    if(k%8==0&&k!=0){
  639.    printf("按任意鍵繼續(xù)....");
  640.    getch();
  641.    clrscr();
  642.    k++;
  643.    goto a;}}
  644.    printf("\n\n\n           還想在瀏覽一遍嗎(Y/N)");
  645.    yn=getche();
  646. if(yn=='y'||yn=='Y')
  647.     {k=0;m=1;clrscr();goto a;}}}

  648. pingji()
  649. {double zf1=0;
  650. int i,j;
  651. clrscr();
  652. for(i=0;i<len;i++)
  653.   {student[i].zf=0;
  654.     for(j=0;j<clen;j++)
  655.      student[i].zf+=student[i].score[i];}
  656.    for(i=0;i<len;i++)
  657.    zf1+=student[i].zf;
  658.     zf1/=(clen-1);
  659. printf("\n       正在計算,請稍后.......\n");
  660.   delay(100000);
  661.   delay(100000);
  662.     printf("\n\n               班級平均分為:\n");
  663.     printf("                   %.4f",zf1);
  664.    printf("\n\n按任意鍵返回菜單....");
  665.    getch();}
  666.    

  667. qiuzong()
  668. {while(1)
  669. {clrscr();
  670. printf("--1.求個人總成績--\n");
  671. printf("--2.求集體總成績--\n");
  672. printf("--3.某門課的總成績--\n");
  673. printf("--0.返回上一級菜單--\n");
  674. switch(getche())
  675. {case '1':zongge();break;
  676.   case '2':zongji();break;
  677.   case '3':menzong();break;
  678.   case '0':return;

  679.   default:printf("輸入錯誤!\n");
  680.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  681.         getche();
  682.         continue;}}}

  683. menzong()
  684. {int i=0,j,k=1,d;
  685. char yn;
  686. double zf1=0;
  687. while(1){
  688. clrscr();
  689. printf("     課程如下:\n");
  690. A:for(;i<clen;i++)
  691. {printf("%d.   %s\n",k++,course[i]);
  692. if((i+1)%10==0)
  693. {printf("    按任意鍵繼續(xù)...");getch();i++;goto A;}}
  694. f:printf("  請選擇要匯總的的課程編號");
  695. printf("(1--%d):",clen);
  696. scanf("%d",&d);
  697. if(d>clen||d<1)
  698. {printf("\n課程編號錯誤,請按任意鍵重輸\n");getch(); clrscr(); goto f;}
  699. for(i=0;i<len;i++)
  700. zf1+=student[i].score[d-1];
  701. printf("\n班級的%s總成績?yōu)椋篭n",course[d-1]);
  702. printf("       %-10.2f",zf1);
  703. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  704. yn=getche();
  705. if(!(yn=='y'||yn=='Y'))
  706. break;}
  707. printf("\n\n按任意鍵返回菜單....");
  708.    getch();
  709. }
  710.    
  711.   





  712. zongge()
  713. {int i,j,k=0,m=1;char yn;
  714. clrscr();
  715. for(i=0;i<len;i++)
  716.   {student[i].zf=0;
  717.     for(j=0;j<clen;j++)
  718.      student[i].zf+=student[i].score[i];
  719. printf("\n\n      計算完畢,輸出嗎(Y/N)");
  720.   yn=getch();
  721. a:  if(!(yn=='y'||yn=='Y'))
  722.    return;
  723.    else
  724.      {printf("\nNO.  姓名              學號              總成績\n");
  725.      for(;k<len;k++)
  726.      {printf("%-4d%-18s%-18s",m++,student[k].name,student[k].xh);
  727.       printf("%-10.2f",student[k].zf);
  728.       printf("\n\n");
  729.       if(k%8==0&&k!=0)
  730.      {
  731.       printf("按任意鍵繼續(xù)....");
  732.       getch();
  733.       clrscr();
  734.       k++;
  735.       goto a;}}
  736.   

  737.     printf("\n\n\n           還想在瀏覽一遍嗎(Y/N)");
  738.     yn=getche();
  739.     if(yn=='y'||yn=='Y')
  740.     {k=0;m=1;clrscr();goto a;}}}}


  741. zongji()
  742. {int i,j;char yn;
  743. double zf1=0;
  744. clrscr();
  745. for(i=0;i<len;i++)
  746.   {student[i].zf=0;
  747.     for(j=0;j<clen;j++)
  748.      student[i].zf+=student[i].score[i];
  749.      zf1+=student[i].zf;}
  750.   printf("\n       正在計算,請稍后.......\n");
  751.   delay(100000);
  752.   delay(100000);
  753.   printf("\n\n               班級總成績?yōu)椋篭n");
  754.     printf("                   %.4f",zf1);
  755.    printf("\n\n按任意鍵返回菜單....");
  756.    getch();}
  757.    


  758. shanchu()
  759. {
  760. while(1)
  761. {clrscr();
  762. printf("--1.刪除整條記錄--\n");
  763. printf("--0.返回上一級菜單--\n");
  764. switch(getche())
  765. {case '1':shanquan();break;
  766.   case '0':return;
  767.   default:printf("輸入錯誤!\n");
  768.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  769.         getche();
  770.         continue;}}}


  771. shanquan()
  772. {int i,m,j;
  773. char yn;
  774. while(1)
  775. {clrscr();
  776. if(len==0){printf("\n   無記錄!   按任意鍵結(jié)束..");getch();break;}
  777. printf("請輸入要刪除的記錄號");
  778. printf("(1--%d):",len);
  779. scanf("%d",&m);fflush(stdin);
  780. if(m>len||m<1){printf("\n\n    記錄號錯誤,請按任意鍵重輸");getch();continue;}
  781. printf("\n");
  782. printf("\n\n    確認要刪出該記錄嗎(Y/N)\n");
  783. yn=getch();
  784. if(yn=='y'||yn=='Y')
  785. for(i=m-1;i<len;i++)
  786. {strcpy(student[i].name,student[i+1].name);
  787. strcpy(student[i].xh,student[i+1].xh);
  788. for(j=0;j<clen;j++)
  789. {student[i].score[j]=student[i+1].score[j];}
  790. student[i].pj=student[i+1].pj;
  791. student[i].zf=student[i+1].zf;
  792. printf("\n       正在刪除.......\n");
  793.   delay(100000);
  794.   delay(100000);
  795. printf("\n\n     已刪除!\n");
  796. len--;}
  797. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  798. yn=getche();
  799. if(!(yn=='y'||yn=='Y'))
  800. break;}}


  801. charu()
  802. {
  803. while(1)
  804. {clrscr();
  805. printf("\n--    1.插入記錄--\n");
  806. printf("--    0.返回上一級菜單--\n");
  807. switch(getche())
  808. {case '1':cha();break;
  809.   case '0':return;
  810.   default:printf("輸入錯誤!\n");
  811.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  812.         getche();
  813.         continue;}}}

  814. cha()
  815. {int i,m=0,j,flag;
  816. char yn;
  817. while(1)
  818. {clrscr();flag=0;
  819. if(len==0){printf("\n        無記錄!  只能插在一號記錄上\n");
  820.            printf("\n\n     插入嗎?(Y/N)\n");
  821.            yn=getch();
  822.            if(!(yn=='y'||yn=='Y'))break;
  823.            else
  824.              {flag=1;}}
  825. else{
  826. A: printf("請輸入要插入的記錄號位置");
  827.    printf("(1--%d):",len+1);
  828.    scanf("%d",&m);fflush(stdin);
  829.    printf("\n確定嗎(Y/N)");
  830.   yn=getch();
  831.   if(yn=='y'||yn=='Y')
  832.   flag=1;}

  833. if(flag==1)
  834.   if(m==0&&len==0)
  835.    {len=1;
  836.     printf("是否輸入數(shù)據(jù)?(Y/N)");
  837.     yn=getch();
  838.     if(!(yn=='y'||yn=='Y'))break;
  839.    else charushu(0);}
  840. else
  841.   {if(m>len+1||m<1)
  842.   {printf("\n\n    記錄號錯誤,請按任意鍵重輸!");getch();continue;}
  843.   yidong(m-1);
  844.   printf("是否輸入數(shù)據(jù)?(Y/N)");
  845.    yn=getch();
  846.   if(!(yn=='y'||yn=='Y'))break;
  847.   else charushu(m-1);}
  848.   printf("\n\n             還繼續(xù)嗎?(Y/N)");
  849.   yn=getche();
  850.   if(!(yn=='y'||yn=='Y'))
  851.   break;
  852. }}



  853. yidong(int i)
  854. {int j,k;
  855. for(j=len;j>i;j--)
  856.    {strcpy(student[j].name,student[j-1].name);
  857.     strcpy(student[j].xh,student[j-1].xh);  
  858.    for(k=0;k<clen;k++)
  859.     student[j].score[k]=student[j-1].score[k];
  860.     student[j].zf=student[j-1].zf;
  861.     student[j].pj=student[j].pj;}

  862.   {strcpy(student[i].name,"");
  863.     strcpy(student[i].xh,"");  
  864.    for(k=0;k<clen;k++)
  865.     student[i].score[k]=0;
  866.     student[i].zf=0;
  867.     student[i].pj=0;}
  868. }

  869. charushu(int j)
  870. {int i;
  871. char name[20],xh[20];
  872. float score[20];
  873. char yn;
  874. while(1){clrscr();
  875. printf("     請輸入姓名:");
  876. gets(name);
  877. printf("     請輸入學號:");
  878. gets(xh);
  879. for(i=0;i<clen;i++)
  880. {printf("     請輸入%s成績:",course[i]);
  881. scanf("%f",&score[i]);}
  882. printf("\n對輸入的數(shù)據(jù)確定嗎(Y/N)");
  883. yn=getch();
  884. if(yn=='y'||yn=='Y')
  885. {strcpy(student[j].name,name);
  886. strcpy(student[j].xh,xh);
  887. for(i=0;i<clen;i++)
  888.   student[j].score[i]=score[i];
  889. break;}
  890. else
  891.   {printf("\n       重新輸入?(Y/N)\n");
  892.    yn=getch();
  893.    if(!(yn=='y'||yn=='Y'))
  894.    break;}
  895.     }}

  896. paixu()
  897. {while(1)
  898. {clrscr();
  899. printf("--1.按學號排序--\n");
  900. printf("--2.按姓名排序--\n");
  901. printf("--3.按成績排序--\n");
  902. printf("--0.返回上一級菜單--\n");
  903. switch(getche())
  904. {case '1':xuepai();break;
  905.   case '2':nmpai(); break;
  906.   case '3':cjpai();break;
  907.   case '0':return;
  908.   default:printf("輸入錯誤!\n");
  909.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  910.         getche();
  911.         continue;}}}


  912. xuepai()
  913. {int i,j,flag;
  914. char yn;
  915. a: clrscr();
  916. printf("-------按學號排序--------\n");
  917. printf("--1.按學號升序--\n");
  918. printf("--2.按學號降序--\n");
  919. printf("--0.返回上一級菜單--\n");
  920. switch(getch())
  921. {case '1':flag=1;break;
  922. case '2':flag=2;break;
  923. case '0':return;
  924. default:printf("按鍵錯誤,請按任意鍵返回重選功能.");
  925.         getch();goto a;}
  926. for(i=0;i<len;i++)
  927.   for(j=len-1;j>=i+1;j--)
  928.       if(flag==1)
  929.       {  if(strcmp(student[j-1].name,student[j].name)>0)
  930.         jiaohuan(j);}
  931.     else
  932.         if(strcmp(student[j-1].name,student[j].name)<0)
  933.             jiaohuan(j);
  934. printf("\n\n      想看一下排序結(jié)果嗎(Y/N)?");  
  935. yn=getch();
  936. if(yn=='y'||yn=='Y')
  937. chupin();}

  938. nmpai()
  939. {int i,j,flag;char yn;
  940. a: clrscr();
  941. printf("-------按姓名排序--------\n");
  942. printf("--1.按姓名升序--\n");
  943. printf("--2.按姓名降序--\n");
  944. printf("--0.返回上一級菜單--\n");
  945. switch(getch())
  946. {case '1':flag=1;break;
  947. case '2':flag=2;break;
  948. case '0':return;
  949. default:printf("按鍵錯誤,請按任意鍵返回重選功能.");
  950.         getch();goto a;}
  951. for(i=0;i<len;i++)
  952.   for(j=len-1;j>=i+1;j--)
  953.    if(flag==1)
  954.     {if(strcmp(student[j-1].name,student[j].name)>0)
  955.       jiaohuan(j);}
  956.    else
  957.         if(strcmp(student[j-1].name,student[j].name)<0)
  958.             jiaohuan(j);
  959. printf("\n\n      想看一下排序結(jié)果嗎(Y/N)?");  
  960. yn=getch();
  961. if(yn=='y'||yn=='Y')
  962. chupin();}


  963. cjpai()
  964. {int k=1,d,i,m=0,j,flag;
  965. char  yn;
  966. a: clrscr();
  967. printf("-------按成績排序--------\n");
  968. printf("--1.按成績升序--\n");
  969. printf("--2.按成績降序--\n");
  970. printf("--0.返回上一級菜單--\n");
  971. switch(getch())
  972. {case '1':flag=1;break;
  973. case '2':flag=2;break;
  974. case '0':return;
  975. default:printf("按鍵錯誤,請按任意鍵返回重選功能.");
  976.         getch();goto a;}

  977. printf("\n     課程如下:\n");
  978. A:for(;m<clen;m++)
  979. {printf("%d.   %s\n",k++,course[m]);
  980. if((m+1)%10==0)
  981. {printf("\n    按任意鍵繼續(xù)...");getch();m++;goto A;}}
  982. if((m+2)%10==0)
  983. {printf("\n    按任意鍵繼續(xù)...");getch();goto A;}
  984. printf("%d.   平均分\n%d    總成績\n",m+1,m+2);
  985. f:printf("\n\n  請選擇要排序的的課程編號");
  986. printf("(1--%d):",clen+2);
  987. scanf("%d",&d);
  988. if(d>clen+2||d<1)
  989. {printf("\n課程編號錯誤,請按任意鍵重輸\n");getch(); clrscr(); goto f;}
  990. for(i=0;i<len;i++)
  991.   for(j=len-1;j>=i+1;j--)
  992.    if(d==(clen+1))
  993.     {if(flag==1)
  994.      {if(student[j-1].pj>student[j].pj)
  995.       jiaohuan(j);}
  996.      else
  997.       if(student[j-1].pj<student[j].pj)
  998.        jiaohuan(j);}
  999.    else if(d==(clen+2))
  1000.     {if(flag==1)
  1001.       {if(student[j-1].zf>student[j].zf)
  1002.        jiaohuan(j);}
  1003.      else
  1004.       if(student[j-1].zf<student[j].zf)
  1005.         jiaohuan(j);}
  1006.    else
  1007.    { if(flag==1)
  1008.       {if(student[j-1].score[d]>student[j].score[d])
  1009.        jiaohuan(j);}
  1010.      else
  1011.       if(student[j-1].score[d]<student[j].score[d])
  1012.        jiaohuan(j);}
  1013. printf("\n\n      想看一下排序結(jié)果嗎(Y/N)?");  
  1014. yn=getch();
  1015. if(yn=='y'||yn=='Y')
  1016. chupin();}





  1017. jiaohuan(int j)
  1018. {char p[20];
  1019. int i;
  1020. float f;
  1021. strcpy(p,student[j].name);
  1022. strcpy(student[j].name,student[j-1].name);
  1023. strcpy(student[j-1].name,p);
  1024. strcpy(p,student[j].xh);
  1025. strcpy(student[j].xh,student[j-1].xh);
  1026. strcpy(student[j-1].xh,p);
  1027. for(i=0;i<clen;i++)
  1028. {f=student[j].score[i];
  1029. student[j].score[i]=student[j-1].score[i];
  1030. student[j-1].score[i]=f;}
  1031. f=student[j].pj;
  1032. student[j].pj=student[j-1].pj;
  1033. student[j-1].pj=f;
  1034. f=student[j].zf;
  1035. student[j].zf=student[j-1].zf;
  1036. student[j-1].zf=f;
  1037. }



  1038. chushihua()
  1039. {if((f=fopen("chengji.dat","rb"))!=NULL)
  1040.   {while(!feof(f))
  1041.    fread(&student[len++],sizeof(struct stu),1,f);
  1042.    fclose(f);
  1043. }
  1044. else {printf(" 文件不存在,請創(chuàng)建chengji.dat文件!\n");
  1045.       printf("注意事項請參看readme.txt\n");
  1046.       delay(100000);
  1047.       delay(100000);
  1048.       exit(0);}
  1049. }

  1050. xiugai()
  1051. {while(1)
  1052. {clrscr();
  1053. printf("--1.修改學號--\n");
  1054. printf("--2.修改姓名--\n");
  1055. printf("--3.修改成績--\n");
  1056. printf("--4.全部修改--\n");
  1057. printf("--0.返回上一級菜單--\n");
  1058. switch(getche())
  1059. {case '1':xiuxue();break;
  1060.   case '2':xiuxing(); break;
  1061.   case '3':xiucheng();break;
  1062.   case '4':xiuquan();break;
  1063.   case '0':return;
  1064.   default:printf("輸入錯誤!\n");
  1065.         printf("請重選按鍵選擇菜單.\n按任意鍵返回!\n");
  1066.         getche();
  1067.         continue;}}}

  1068. xiuquan()
  1069. {int i,m;
  1070. char name[20],xh[20];
  1071. float score[20];
  1072. char yn;
  1073. while(1){
  1074. if(len==0){printf("無記錄!   按任意鍵結(jié)束..");getch();break;}
  1075. printf("請輸入要修改的記錄號");
  1076. printf("(1--%d):",len);
  1077. scanf("%d",&m);fflush(stdin);
  1078. if(m>len||m<1){printf("記錄號錯誤,請按任意鍵重輸");getch();continue;}
  1079. printf("\n");
  1080. printf("\n  姓名現(xiàn)有值為: %s\n",student[m-1].name);
  1081. printf("     請輸入修改值:");
  1082. gets(name);
  1083. printf("\n  學號現(xiàn)有值為: %s\n",student[m-1].name);
  1084. printf("     請輸入修改值:");
  1085. gets(xh);
  1086. for(i=0;i<clen;i++)
  1087. {printf("\n  %s現(xiàn)有值為: %f\n",course[i],student[m-1].score[i]);
  1088. printf("     請輸入修改值:");
  1089. scanf("%f",&score[i]);}
  1090. printf("\n對輸入的數(shù)據(jù)確定嗎(Y/N)");
  1091. yn=getch();
  1092. if(yn=='y'||yn=='Y')
  1093. {strcpy(student[m-1].name,name);
  1094. strcpy(student[m-1].xh,xh);
  1095. for(i=0;i<clen;i++)
  1096.   student[m-1].score[i]=score[i];}
  1097. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  1098. yn=getche();
  1099. if(!(yn=='y'||yn=='Y'))
  1100.   break;}}


  1101. xiucheng()
  1102. {int i,m,d,k=1;
  1103. float f;char yn;
  1104. while(1)
  1105. {clrscr();
  1106. if(len==0){printf("無記錄!   按任意鍵結(jié)束..");getch();break;}
  1107. printf("請輸入要修改的記錄號");
  1108. printf("(1--%d):",len);
  1109. scanf("%d",&m);fflush(stdin);
  1110. if(m>len||m<1){printf("記錄號錯誤,請按任意鍵重輸");getch();continue;}
  1111. printf("\n");
  1112. A:for(i=0;i<clen;i++)
  1113. {printf("%d.   %s\n",k++,course[i]);
  1114. if((i+1)%10==0)
  1115.   {printf("    按任意鍵繼續(xù)...");getch();k++;goto A;}}
  1116. printf("  請選擇要修改的課程編號");
  1117. printf("(1--%d):",clen);
  1118. scanf("%d",&d);
  1119. if(d>clen||d<1){printf("課程編號錯誤,請按任意鍵重輸");getch();continue;}
  1120. printf("\n  現(xiàn)有值為:%.2f\n\n",student[m-1].score[d-1]);
  1121. printf("     請輸入修改值:");
  1122. scanf("%f",&f);
  1123. printf("\n確定嗎(Y/N)");
  1124. yn=getch();
  1125. if(yn=='y'||yn=='Y')
  1126. student[m-1].score[d-1]=f;
  1127. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  1128. yn=getche();
  1129. if(!(yn=='y'||yn=='Y'))
  1130. break;}}

  1131. xiuxue()
  1132. {int i,m,d;
  1133. char xue[20];char yn;
  1134. while(1)
  1135. {clrscr();
  1136. if(len==0){printf("無記錄!   按任意鍵結(jié)束..");getch();break;}
  1137. printf("請輸入要修改的記錄號");
  1138. printf("(1--%d):",len);
  1139. scanf("%d",&m);fflush(stdin);
  1140. if(m>len||m<1){printf("記錄號錯誤,請按任意鍵重輸");getch();continue;}
  1141. printf("\n");
  1142. printf("\n  學號現(xiàn)有值為:%s\n\n",student[m-1].xh);
  1143. printf("     請輸入修改值:");
  1144. gets(xue);
  1145. printf("\n確定嗎(Y/N)");
  1146. yn=getch();
  1147. if(yn=='y'||yn=='Y')
  1148. strcpy(student[m-1].xh,xue);
  1149. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  1150. yn=getche();
  1151. if(!(yn=='y'||yn=='Y'))
  1152. break;}}

  1153. xiuxing()
  1154. {int i,m,d;
  1155. char nm[20];char yn;
  1156. while(1)
  1157. {clrscr();
  1158. if(len==0){printf("無記錄!   按任意鍵結(jié)束..");getch();break;}
  1159. if(len==0){printf("無記錄!   按任意鍵結(jié)束..");getch();break;}
  1160. printf("請輸入要修改的記錄號");
  1161. printf("(1--%d):",len);
  1162. scanf("%d",&m);fflush(stdin);
  1163. if(m>len||m<1){printf("記錄號錯誤,請按任意鍵重輸");getch();continue;}
  1164. printf("\n");
  1165. printf("\n  姓名現(xiàn)有值為:%s\n\n",student[m-1].name);
  1166. printf("     請輸入修改值:");
  1167. gets(nm);
  1168. printf("\n確定嗎(Y/N)");
  1169. yn=getch();
  1170. if(yn=='y'||yn=='Y')
  1171. strcpy(student[m-1].name,nm);
  1172. printf("\n\n             還繼續(xù)嗎?(Y/N)");
  1173. yn=getche();
  1174. if(!(yn=='y'||yn=='Y'))
  1175. break;}}


  1176. zhuzuo()
  1177. {clrscr();

  1178. printf("\n\n\n\n\n               ------------------------------------------\n");
  1179. printf("               -----歡迎使用學生成績管理系統(tǒng)-----\n");
  1180. printf("                       版本:v1.0\n");
  1181. printf("                       著作時間:2006.11.20\n");
  1182. printf("                       作者:馬萬里\n");
  1183. printf("                       地址:算計科學與工程學院\n");
  1184. printf("               ------------------------------------------\n");
  1185. printf("                          按任意鍵繼續(xù).....\n");
  1186. getche();
  1187. }

復(fù)制代碼


完整的Word格式文檔51黑下載地址:
C程序設(shè)計課程實踐.doc (43 KB, 下載次數(shù): 13)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:270888 發(fā)表于 2018-1-3 17:20 | 只看該作者
執(zhí)行不了啊。提示有錯誤
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91在线观看免费视频 | 国产 日韩 欧美 制服 另类 | 欧美 日韩 亚洲91麻豆精品 | 亚洲欧美在线观看 | 国产精品久久久久久久久久久免费看 | 日韩a| 亚洲人精品午夜 | 2018中文字幕第一页 | 欧美精品在线播放 | 岛国毛片在线观看 | 国产精品乱码一区二区三区 | 精品日韩一区二区三区av动图 | 日本偷偷操| 成人国产一区二区三区精品麻豆 | 国产乱人伦精品一区二区 | 国产一区不卡 | 国产高潮好爽受不了了夜色 | 五月激情六月婷婷 | 精品久久一区 | 国产精品二区三区 | 欧美精品一区二区三区在线播放 | 中文字幕一区二区三区四区五区 | 久久久久欧美 | 国产欧美一区二区三区在线看 | 国产欧美在线视频 | 久久最新精品视频 | 岛国午夜| 国产第一页在线观看 | av片在线播放 | 中文字幕亚洲一区二区三区 | www.天天操 | 日韩中文字幕一区 | 国产精品美女在线观看 | 国产精品日韩一区二区 | 国产精品久久久久久久久久久久午夜片 | 欧美精品99 | 91在线视频观看 | 亚洲电影第三页 | 久久99精品久久久 | 亚洲精品成人在线 | 日韩图区|