C語言課程設計成績管理系統_第1頁
C語言課程設計成績管理系統_第2頁
C語言課程設計成績管理系統_第3頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計的內容1)信息維護:要求:學生信息數據要以文件的形式保存,能實現學生信息數據的維護。此模塊包括子模塊有:增加學生信息、刪除學生信息、修改學生信息2)信息查詢:要求:查詢時可實現按姓名查詢、按學號查詢3)成績統計:要求:A輸入任意的一個課程名(如數學)和一個分數段(如60-70),統計出在此分數段的學生情況。4)排序:能對用戶指定的任意課程名,按成績升序或降序排列學生數據并顯示排序結果(使用表格的形式顯示排序后的輸出結果)(使用多種方法排序者,加分)二)其它要求:(1)只能使用C/C+語言,源程序要有適當的注釋,使程序容易閱讀(2)至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3)

2、學生可自動增加新功能模塊(視情況可另外加分)(4)寫出課程設計報告,具體要求見相關說明文檔二、課程設計的要求與數據1、進一步掌握和利用C語言進行程設計的能力;2、進一步理解和運用結構化程序設計的思想和方法;3、初步掌握開發一個小型實用系統的基本方法;4、學會調試一個較長程序的基本方法;5、學會利用流程圖或N-S圖表示算法;6、掌握書寫程序設計開發文檔的能力。三、課程設計應完成的工作1、編寫完成相應題目的程序;2、編寫課程設計報告,課程設計報告的內容應包括以下6個部分:1)需求分析:包括設計題目、設計要求以及系統功能需求分析;2)總體設計:包括系統總體設計框架和系統功能模塊圖;3)詳細設計:包括

3、主要功能模塊的算法設計思路以及對應的工作流程圖;4)調試分析過程描述:包括測試數據、測試輸出結果,以及對程序調試過程中存在問題的思考(列出主要問題的出錯現象、出錯原因、解決方法及效果等,適當的包含結果截圖);5)總結:課程設計完成了哪些功能,有沒有什么擴展功能?還有哪些地方需要改進?課程設計過程中的學習體會與收獲、對本次課程設計的認識以及自己的建議等內容;6)附錄:主要源程序代碼,含必要的注釋。3、答辯:在實驗室建立程序運行的環境,并在指導教師的監督下,獨立解決問題、運行程序和回答教師提出的問題。目錄1設計目的與要求P42總體設計P43詳細設計P53.1功能模塊設計P53.1.1 XX功能模塊

4、(可選)P53.1.2 丫丫功能模塊(可選)P63.1.3 ZZ功能模塊(可選)P73.2數據結構設計P84調試分析P94.1 結構體P9鏈表P115遇到的問題及解決方法分析P126總結P137源文件P137.1 鏈表P137.2 結構體P281、目的與要求一目的:編制一程序實現對學生成績的管理,讓自己既動手又動腦,獨立實踐,將課本上的理論知識和實際應用問題進行有機結合,鍛煉自己分析、解決實際問題的能力,提高自身項目開發及程序調試能力。二要求:1整個系統均用C語言實現;2、利用指針、結構體、鏈表來實現學生成績的數據結構設計;3、系統具有輸入、顯示、查詢(查詢時可實現按姓名查詢、按學號查詢)、刪

5、除、排序、插入,保存、讀取基本功能;4、系統的各個功能模塊都用函數的形式來實現;5、學生信息數據要以文件的形式保存,能實現學生信息數據的維護。此模塊包括子模塊有:增加學生信息、刪除學生信息、修改學生信息;6、可以輸入任意的一個課程名(如數學)和一個分數段(如60-70),統計出在此分數段的學生情況;7、能對用戶指定的任意課程名,按成績升序或降序排列學生數據并顯示排序結果;8、可自動增加新功能模塊;9、可以將學生信息從文件中讀取出來。2總體設計1、主函數main()利用if-else,While循環語句和switch()實現各函數的調用,系統根據輸入的數字選項來調用相應的函數。2、菜單選擇函數v

6、oidmenu();這是一個無參函數,主要實現“功能選擇”的界面,在這個界面里有顯示系統的13大功能,根據每個功能前面的序號進行選擇。等執行完每一個函數功能后,按任0'鍵回到主界面也要通過這個函數提示來實現!3、自定義函數voidprintstart()、voidWrong()、voidNofind()、voidprintc()、voidprinte(Node*p)用voidWrong()來提示輸入錯誤,用voidNofind()提示沒有找到學生資料,用voidprintc()來輸出中文,用voidprinte(Node*p)來輸出中文。3詳細設計3.1功能模塊設計3.1.1排序數學成

7、績功能模塊函數voidMaths(LinkI)該函數用于對數學成績進行降序,II=(Link)malloc(sizeof(Node)用于做新的鏈表連接,如果原鏈表為空的話,返回;不為空的話,p=I->next;建立接點用于保存信息,對指定鏈表地址進行排序。流程圖如圖所示:3.1.2顯示學生資料功能模塊函數voidDisp(Linkl)該函數負責顯示學生資料,這是一個不返回值函數。算法:先將p結點的指針指向第一個結點,將p結點(即第一個結點)的數據輸出。然后再將p結點的指針指向p指針的的指針(即下一結點),將p結點(即第一結點)的數據輸出。重復執行此步聚直到p指針指向NULL為止。流程圖如

8、圖所示:提示沒有P指向下一結點p=p->next資料可以輸出p指向的結點,即學生信息顯示returnp指向下一結點p=p->next3.1.3刪除資料功能模塊函數voidDel(LinkI)該函數用于有選擇地刪除學生資料,如果原來的鏈表為空的話,會返回;不為空的話,選擇用按哪種類型刪除,如果按學號刪除,就輸入學號,后判斷是否取得地址,取得就執行刪除;按名字刪除就輸入名字,運行同學號一樣。流程圖如圖所示:3.2數據結構設計(可選)一個結構體變量中可以存放一組數據(如一個學生的學號、姓名、成績等數據)。一個結構體變量的指針就是該變量所占據的內存段起始地址。可以設一個指針變量,用來指向一

9、結構體變量,此時指針變量的值是結構體的起始地址。指針量變也可以用來指向一結構體數組中的元素。structstudentcharnum10;/*學號*/charname20;charsex4;intcgrade;intmgrade;integrade;inttotle;intave;charneartime10;/*最近更新時間*/;typedefstructnodestructstudentdata;structnode*next;Node,*Link;6總結經過一個多星期的C語言課程設計,感覺自己收獲不少!首先是:要達到這樣的功能,使用鏈表相當方便,但不容易理解,所以在這方面我很了很多的時間

10、看課本,使C語言的知識強化了不少。其次,在做課程設計的過程中,發現了平時很多沒有注意到的問題,例如:返回值函數和不返回值函數兩者在主函數中的調用是不同的更重要的是,這次課程設計雖然花了我不少時間,但正是這些時間,讓我見識到了C語言的重要性。這個學生成績管理系統都是在自己知識范圍內完成的,所以界面清晰簡單,可能不是很好看,但絕對實用!從這里我也得到一個體會,做一個程序,或者開發一個軟件,應該著重從它的后臺制作入手,不能做出一個中看不中用的程序或者軟件。相信這次的課程設計使我的C語言知識扎實了很多。由于這是第一次進行設計,寫文檔,難免會寫得不好!7源程序7.1鏈表#include"std

11、io.h"#include"stdlib.h"#include"string.h"intshoudsave=0;/*/structstudentcharnum10;/*學號*/charname20;charsex4;intcgrade;intmgrade;integrade;inttotle;intave;charneartime10;/*最近更新時間*/;typedefstructnodestructstudentdata;structnode*next;Node,*Link;voidmenu()printf("*");p

12、rintf("t1printf("t3printf("t5printf("t7printf("t9登記學生資料查詢學生資料顯示學生資料排序語文成績排序英語成績ttttt2刪除學生資料修改學生資料統計學生資料排序數學成績n");n");n");n");ttttt4ttttt6ttttt8ttttt10選出分段分數n");printf("t11保存學生資料ttttt12幫助信息ttn");printf("t0退出系統tttttttn");printf(&quo

13、t;*n");voidprintstart()printf("n");voidWrong()printf("n=>提示:輸入錯誤!n");voidNofind()printf("n=>提示:沒有找到該學生!n");voidprintc()/*本函數用于輸出中文*/printf("學號t姓名t性別語文成績數學成績英語成績總分平均分n");voidprinte(Node*p)/*本函數用于輸出英文*/printf("%-12s%st%st%dt%dt%dt%dt%dn",p-&

14、gt;data.num,p->,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);Node*Locate(Linkl,charfindmess,charnameornum)/*該函數用于定位連表中符合要求的接點,并返回該指針*/Node*r;if(strcmp(nameornum,"num")=0)/*按學號查詢*/r=l->next;while(r!=NULL)if(strcmp(r->

15、;data.num,findmess)=0)returnr;r=r->next;elseif(strcmp(nameornum,"name")=0)/*按姓名查詢*/r=l->next;while(r!=NULL)if(strcmp(r->,findmess)=0)returnr;r=r->next;return0;voidAdd(Linkl)/*增加學生*/Node*p,*r,*s;charnum10;r=l;s=l->next;while(r->next!=NULL)r=r->next;/*將指針置于最末尾*/

16、while(1)printf("請你輸入學號(以'0'返回上一級菜單:)");scanf("%s",num);if(strcmp(num,"0")=0)break;while(s)if(strcmp(s->data.num,num)=0)printf("=>提示:學號為s的學生已經存在,若要修改請你選擇'4修改'!n",num);printstart();printc();printe(s);printstart();printf("n");retur

17、n;s=s->next;p=(Node*)malloc(sizeof(Node);strcpy(p->data.num,num);printf("請你輸入姓名:");scanf("%s",p->);getchar();printf("請你輸入性別:");scanf("%s",p->data.sex);getchar();printf("請你輸入語文成績:");scanf("%d",&p->data.cgrade);get

18、char();printf("請你輸入數學成績:");scanf("%d",&p->data.mgrade);getchar();printf("請你輸入英語成績:");scanf("%d",&p->data.egrade);getchar();p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=p->data.totle/3;/*信息輸入已經完成*/p->

19、next=NULL;r->next=p;r=p;shoudsave=1;voidQur(Linkl)/*查詢學生*/intsel;charfindmess20;Node*p;if(!l->next)printf("n=>提示:沒有資料可以查詢!n");return;printf("n=>1按學號查找n=>2按姓名查找n");scanf("%d",&sel);if(sel=1)/*學號*/printf("請你輸入要查找的學號:");scanf("%s",fin

20、dmess);p=Locate(l,findmess,"num");if(p)printf("tttt查找結果n");printstart();printc();printe(p);printstart();elseNofind();elseif(sel=2)/*姓名*/printf("請你輸入要查找的姓名:");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p)printf("tttt查找結果n");printsta

21、rt();printc();printe(p);printstart();elseNofind();elseWrong();voidDel(Linkl)/*刪除*/intsel;Node*p,*r;charfindmess20;if(!l->next)printf("n=>提示:沒有資料可以刪除!n");return;printf("n=>1按學號刪除n=>2按姓名刪除n");scanf("%d",&sel);if(sel=1)printf("請你輸入要刪除的學號:");scanf(

22、"%s",findmess);p=Locate(l,findmess,"num");if(p)r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("n=>提示:該學生已經成功刪除!n");shoudsave=1;elseNofind();elseif(sel=2)printf("請你輸入要刪除的姓名:");scanf("%s",findmess);p=Locate(l,findmess,&quo

23、t;name");if(p)r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("n=>提示:該學生已經成功刪除!n");shoudsave=1;elseNofind();elseWrong();voidModify(Linkl)Node*p;charfindmess20;if(!l->next)printf("n=>提示:沒有資料可以修改!n");return;printf("請你輸入要修改的學生學號:");s

24、canf("%s",findmess);p=Locate(l,findmess,"num");if(p)printf("請你輸入新學號(原來是%s):",p->data.num);scanf("%s",p->data.num);printf("請你輸入新姓名(原來是%s):",p->);scanf("%s",p->);getchar();printf("請你輸入新性別(原來是%s):",p->

25、;data.sex);scanf("%s",p->data.sex);printf("請你輸入新的語文成績(原來是%d分):",p->data.cgrade);scanf("%d",&p->data.cgrade);getchar();printf("請你輸入新的數學成績(原來是%d分):",p->data.mgrade);scanf("%d",&p->data.mgrade);getchar();printf("請你輸入新的英語成績(原來

26、是%d分):",p->data.egrade);scanf("%d",&p->data.egrade);p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;p->data.ave=p->data.totle/3;printf("n=>提示:資料修改成功!n");shoudsave=1;elseNofind();voidDisp(Linkl)intcount=0;Node*p;p=l->next;if(!p)pri

27、ntf("n=>提示:沒有資料可以顯示!n");return;printf("tttt顯示結果n");printstart();printc();printf("n");while(p)printe(p);p=p->next;printstart();printf("n");voidTongji(Linkl)Node*pm,*pe,*pc,*pt,*pa;/*用于指向分數最高的接點*/Node*r=l->next;if(!r)printf("n=>提示:沒有資料可以統計!n&quo

28、t;);return;pm=pe=pc=pt=pa=r;while(r!=NULL)if(r->data.cgrade>=pc->data.cgrade)pc=r;if(r->data.mgrade>=pm->data.mgrade)pm=r;if(r->data.egrade>=pe->data.egrade)pe=r;if(r->data.totle>=pt->data.totle)pt=r;if(r->data.ave>=pa->data.ave)pa=r;r=r->next;printf(&

29、quot;統計結果n");printf("總分最高者:t%s%d分n",pt->,pt->data.totle);printf("平均分最高者:t%s%d分n",pa->,pa->data.ave);printf("英語最高者:t%s%d分n",pe->,pe->data.egrade);printf("數學最高者:t%s%d分n",pm->,pm->data.mgrade);print

30、f("語文最高者:t%s%d分n",pc->,pc->data.cgrade);printstart();voidChinese(Linkl)Linkll;Node*p,*rr,*s;ll=(Link)malloc(sizeof(Node);/*用于做新的連表*/ll->next=NULL;if(l->next=NULL)printf("n=>提示:沒有資料可以排序!n");return;p=l->next;while(p)s=(Node*)malloc(sizeof(Node);/*新建接點用于保存

31、信息*/s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL&&rr->next->data.egrade>=p->data.egrade)rr=rr->next;if(rr->next=NULL)rr->next=s;elses->next=rr->next;rr->next=s;p=p->next;free(l);l->next=ll->next;printf("n=>提示:排序已經完成!n"

32、;);voidMaths(Linkl)/*對數學排序*/Linkll;Node*p,*rr,*s;ll=(Link)malloc(sizeof(Node);/*用于做新的連表*/ll->next=NULL;if(l->next=NULL)printf("n=>提示:沒有資料可以排序!n");return;p=l->next;while(p)s=(Node*)malloc(sizeof(Node);/*新建接點用于保存信息*/s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=N

33、ULL&&rr->next->data.mgrade>=p->data.mgrade)rr=rr->next;if(rr->next=NULL)rr->next=s;elses->next=rr->next;rr->next=s;p=p->next;free(l);l->next=ll->next;printf("n=>提示:排序已經完成!n");voidEnglish(Linkl)/*對英語排序*/Linkll;Node*p,*rr,*s;ll=(Link)malloc(s

34、izeof(Node);/*用于做新的連表*/ll->next=NULL;if(l->next=NULL)printf("n=>提示:沒有資料可以排序!n");return;p=l->next;while(p)s=(Node*)malloc(sizeof(Node);/*新建接點用于保存信息*/s->data=p->data;s->next=NULL;rr=ll;while(rr->next!=NULL&&rr->next->data.cgrade>=p->data.cgrade)rr=

35、rr->next;if(rr->next=NULL)rr->next=s;elses->next=rr->next;rr->next=s;p=p->next;free(l);l->next=ll->next;printf("n=>提示:排序已經完成!n");voidselect(Linkl)inti;intj,k;Node*pc=l;/用于指向分數最高的接點Node*r=l->next;if(!r)printf("n=>提示:沒有資料可以篩選!n");return;printf(&q

36、uot;輸入課程名1.語文2.數學3.英語");scanf("%d",&i);if(i=1)printf("請輸入篩選分數的上限:");scanf("%d",&j);printf("請輸入篩選分數的下限:");scanf("%d",&k);printf("篩選結果n")printf("學號t姓名t性別語文成績數學成績英語成績總分平均分n");printstart();while(r!=NULL)if(k<=(r-&g

37、t;data.egrade)&&(r->data.egrade)<j)printe(r);r=r->next;elseif(i=2)printf("請輸入篩選分數的上限:");scanf("%d",&j);printf("請輸入篩選分數的下限:");scanf("%d",&k);printf("篩選結果n")總分printf("學號t姓名t性別語文成績數學成績英語成績平均分n");printstart();while(r!=N

38、ULL)if(k<=(r->data.mgrade)&&(r->data.mgrade)<j)printe(r);r=r->next;elseif(i=3)printf("請輸入篩選分數的上限:");scanf("%d",&j);printf("請輸入篩選分數的下限:");scanf("%d",&k);printf("篩選結果n")printf("學號t姓名t性別平均分n");語文成績數學成績英語成績總分print

39、start();while(r!=NULL)if(k<=(r->data.cgrade)&&(r->data.cgrade)<j)printe(r);r=r->next;elseWrong();voidSave(Linkl)FILE*fp;Node*p;intflag=1,count=0;fp=fopen("c:student","wb");if(fp=NULL)printf("n=>提示:重新打開文件時發生錯誤!n");exit(1);p=l->next;while(p)if

40、(fwrite(p,sizeof(Node),1,fp)=1)p=p->next;count+;elseflag=0;break;if(flag).)n",count);printf("n=>提示:文件保存成功.(有d條記錄已經保存shoudsave=0;fclose(fp);voidmain()Linkl;/*連表*/FILE*fp;/*文件指針*/intsel;charch;charjian;intcount=0;Node*p,*r;printf("tttt學生成績管理系統nttt06自動化2班蔡曉慶3106000849ttttn");l

41、=(Node*)malloc(sizeof(Node);l->next=NULL;r=l;fp=fopen("C:student","wb");loop:menu();printf("請你選擇操作:");scanf("%d",&sel);if(sel=0)if(shoudsave=1)getchar();printf("n=>提示:資料已經改動,是否將改動保存到文件中(y/n)?n");scanf("%c",&ch);if(ch='y

42、9;|ch='Y')Save(l);printf("n=>提示:你已經退出系統,再見!n");return;switch(sel)case1:Add(l);gotoloop;break;/*增加學生*/case2:Del(l);gotoloop;break;/*刪除學生*/case3:Qur(l);gotoloop;break;/*查詢學生*/case4:Modify(l);gotoloop;break;/*修改學生*/case5:Disp(l);gotoloop;break;/*顯示學生*/case6:Tongji(l);gotoloop;break

43、;/*統計學生*/case7:Chinese(l);gotoloop;break;/*語文排序*/case8:Maths(l);gotoloop;break;/*數學排序*/case9:English(l);gotoloop;break;/*英語排序*/case10:select(l);gotoloop;break;/*選擇分段分數*/case11:Save(l);gotoloop;break;/*保存學生*/case12:printf("ttt=幫助信息=n");gotoloop;break;default:Wrong();getchar();break;7.2結構體#i

44、nclude<stdio.h>#include<stdlib.h>#include<string.h>structstudentcharclass_020;charnum20;charname20;floatmath;floatc_prog;floateng;floatpolity;floatsport;floatave;stu1000;charj,h;/*函數聲明*/voidluru();voidchaxun();voidcharu();voidtongji();voidxiugai();voidshanchu();voidpaixu();voidtuic

45、hu();FILE*fp;/指向學生信息的文件指針voidmain()loop:printf("tt*ttn");printf("tt歡迎使用學生信息管理系統ttn");printf("ttttn");printf("tt制作人:電力4史素芬ttn");printf("ttttn");printf("ttttn");tongji();printf("tt*ttn");printf("tt1.錄入學生成績n");printf("

46、tt2.排序學生成績n");printf("tt3.統計輸出成績n");printf("tt4.查詢學生成績n");printf("tt5.插入學生成績n");printf("tt6.修改學生成績n");printf("tt7.刪除學生成績n");printf("tt8.退出管理系統n");intn;printf("請選擇功能nn");scanf("%d",&n);system("cls");swi

47、tch(n)case1:printf("tt錄入學生成績nn");luru();gotoloop;case2:printf("tt排序學生成績nn");paixu();gotoloop;case3:printf("tt統計輸出學生成績nn");gotoloop;case4:printf("tt查詢學生成績nn");chaxun();gotoloop;case5:printf("tt插入學生成績nn");charu();gotoloop;case6:printf("tt修改學生成績nn&

48、quot;);xiugai();gotoloop;case7:printf("tt刪除學生成績nn");shanchu();gotoloop;case8:printf("tt程序退出。t謝謝使用!nn");exit(0);default:printf("您的輸入有誤,請重試!nn");fflush(stdin);gotoloop;printf("n按任意鍵返回");voidluru()inti,m;Jprintf("請輸入學生人數:");scanf("%d",&m);

49、if(m>1000|m<0)printf("n錯誤nn");return;elsefor(i=0;i<m;i+)printf("n請輸入第%d位學生的成績:n",i+1);printf("班級:");scanf("%s",stui.class_0);printf("學號:");scanf("%s",stui.num);printf("姓名:");scanf("%s",);printf("高等

50、數學成績:");scanf("%f",&stui.math);printf("C程序設計成績:");scanf("%f",&stui.c_prog);printf("大學英語成績:");scanf("%f",&stui.eng);printf("馬克思主義政治經濟學成績:");scanf("%f",&stui.polity);printf("大學體育成績:");scanf("%f&qu

51、ot;,&stui.sport);stui.ave=(stui.c_prog+stui.eng+stui.math+stui.polity+stui.sport)/5;fp=fopen("stud.c","w");for(i=0;i<m;i+)if(fwrite(&stui,sizeof(structstudent),1,fp)!=1)printf("n打開文件失敗nnn");fclose(fp);fp=fopen("stud.c","r");printf("n已

52、錄入的學生成績:n");printf("n班級學號姓名高等數學C程序設計大學英語馬克思主義經濟學大學體育平均分n");for(i=0;i<m;i+)fread(&stui,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2f%-10.2f%-9.2f%-17.2f%-9.2f%-6.2fn",stui.class_0,stui.num,,stui.math,stui.c_prog,stui.eng,stui.polity,stui.sport,stui.a

53、ve);fclose(fp);getchar();voidpaixu()loop:printf("t=1,printf("t=2,printf("t=3,Cprintf("t=4,printf("t=5,printf("t=6,printf("t=7,printf("請輸入你的選擇n");intt;平均成績排序=n");高數成績排序=n");語言成績排序=n")英語成績排序=n");馬克思經濟學成績排序=n");大學體育成績排序=n");學號排序

54、=n");scanf("%d",&t);if(t=1)x,y,z;structstudenttemp;if(fp=fopen("stud.c","r")=NULL)printf("n無法打開文件nnn");return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.

55、ave<stuy.ave)temp=stux;stux=stuy;stuy=temp;printf("n排序后的數據:n");printf("n班級學號姓名高等數學C程序設計大學英語馬克思主義經濟學大學體育平均分n");fp=fopen("stud.c","w");for(x=0;x<z;x+)fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2f%-10.2f%-9.2f%-17.2f%-9.2f%-6

56、.2fn",stux.class_0,stux.num,,stux.math,stux.c_prog,stux.eng,stux.polity,stux.sport,stux.ave);printf("n");getchar();fclose(fp);return;elseif(t=2)x,y,z;structstudentgaoshu;if(fp=fopen("stud.c","r")=NULL)printf("n無法打開文件nnn");return;for(x=0;fread(&am

57、p;stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.math<stuy.math)gaoshu=stux;stux=stuy;stuy=gaoshu;printf("n排序后的數據:n");printf("n班級學號姓名高等數學n");fp=fopen("stud.c","w");for(x=0;x<z;x+)

58、fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2fn",stux.class_0,stux.num,,stux.math);printf("n");getchar();fclose(fp);return;elseif(t=3)x,y,z;structstudentyuyan;if(fp=fopen("stud.c","r")=NULL)printf("n無法打開文件nnn");retu

59、rn;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.c_prog<stuy.c_prog)yuyan=stux;stux=stuy;stuy=yuyan;printf("n排序后的數據:n");printf("n班級學號姓名C語言n");fp=fopen("stud.c","w"

60、;);for(x=0;x<z;x+)fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2fn",stux.class_0,stux.num,,stux.c_prog);printf("n");getchar();fclose(fp);return;elseif(t=4)x,y,z;structstudentying;if(fp=fopen("stud.c","r")=NULL)printf("

61、n無法打開文件nnn");return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.eng<stuy.eng)ying=stux;stux=stuy;stuy=ying;printf("n排序后的數據:n");printf("n班級學號姓名英語n");fp=fopen("stud.c"

62、,"w");for(x=0;x<z;x+)fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2fn",stux.class_0,stux.num,,stux.eng);printf("n");getchar();fclose(fp);return;elseif(t=5)x,y,z;structstudentmakesi;if(fp=fopen("stud.c","r")=NULL)p

63、rintf("n無法打開文件nnn");return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.polity<stuy.polity)makesi=stux;stux=stuy;stuy=makesi;printf("n排序后的數據:n");printf("n班級學號姓名馬克思經濟學n");f

64、p=fopen("stud.c","w");for(x=0;x<z;x+)fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2fn",stux.class_0,stux.num,,stux.polity);printf("n");getchar();fclose(fp);return;elseif(t=6)x,y,z;structstudenttiyu;if(fp=fopen("stud.c&

65、quot;,"r")=NULL)printf("n無法打開文件nnn");return;for(x=0;fread(&stux,sizeof(structstudent),1,fp)!=0;x+)printf("n");fclose(fp);z=x;for(x=0;x<z;x+)for(y=x+1;y<z;y+)if(stux.sport<stuy.sport)tiyu=stux;stux=stuy;stuy=tiyu;printf("n排序后的數據:n");printf("n班

66、級學號姓名大學體育n");fp=fopen("stud.c","w");for(x=0;x<z;x+)fwrite(&stux,sizeof(structstudent),1,fp);printf("n%-6s%-6s%-6s%-9.2fn",stux.class_0,stux.num,,stux.sport);printf("n");getchar();fclose(fp);return;elsex,y,z;structstudentxuehao;if(fp=fopen(

溫馨提示

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

評論

0/150

提交評論