語(yǔ)言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
語(yǔ)言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
語(yǔ)言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
語(yǔ)言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
語(yǔ)言課程設(shè)計(jì)_學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、#include<stdio.h>#include<string.h>/* strcmp函數(shù)原型包含*/#define N 100/*定義最大學(xué)生人數(shù)為100*/struct student /*學(xué)生結(jié)構(gòu)體定義*/ char no11; /*學(xué)號(hào),10位*/ char name10;/*姓名,3個(gè)漢字*/ float score5;/*儲(chǔ)存5門(mén)功課的成績(jī)*/ float ave;/*儲(chǔ)存平均分*/ int year;/*入學(xué)年*/stuN;int num;int panduani(int); /*通過(guò)i的值,判斷信息要查找的信息是否存在*/void output();

2、/*輸出學(xué)生成績(jī)函數(shù)(公共函數(shù))*/void init(); /*系統(tǒng)初始化函數(shù)*/void newfile(); /*建立新的數(shù)據(jù)文件*/void read1(); /*從數(shù)據(jù)文件中讀取數(shù)據(jù)*/void weihu(); /*維護(hù)界面函數(shù)*/void new1(); /*新增一個(gè)學(xué)生成績(jī)函數(shù)*/void xiugai(); /*修改學(xué)生成績(jī)*/int xgcj(int); /*修改成績(jī)*/void delete1(); /*刪除學(xué)生信息函數(shù)*/void tongji(); /*統(tǒng)計(jì)界面函數(shù)*/void tongji1(); /*計(jì)算每個(gè)學(xué)生平均分*/void tongji2(); /*計(jì)算每

3、門(mén)課程的平均分*/void paixu1(); /*排序函數(shù)*/void paino(); /*按學(xué)號(hào)排序*/void paiave(); /*按平均分排序*/void paidkcj(); /*按單科成績(jī)排序*/void change(int,int); /*交換結(jié)構(gòu)體數(shù)組中的兩個(gè)記錄*/void outputx(int); /*選擇輸出單科成績(jī) 徐修樓編*/void find1(); /*查找界面函數(shù)*/int find(char sno); /*按學(xué)號(hào)查找*/int findname(char cname);/*按姓名查找*/void findyear(int cyear); /*按入學(xué)

4、年查找*/void save(); /*保存文件*/void stop(); /*停頓函數(shù)*/void stop() /*停頓函數(shù) (公共函數(shù))*/ printf("Press Any Key To Continue.n"); getch();void output() /*輸出學(xué)生成績(jī)函數(shù)(公共函數(shù))*/ int i,j; printf("=n"); printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDiann"); printf("=n"); fo

5、r(i=0;i<num;i+) printf("%-11s% -10s%-11d",stui.no,,stui.year); for(j=0;j<5;j+) printf("% -7.1f",stui.scorej); printf("n"); stop();void init() /*系統(tǒng)初始化函數(shù) */ if(access("stu.dat",0) /*判斷文件是否存在*/ newfile(); /*若不存在,新建數(shù)據(jù)文件*/ else read1(); /*若存在,讀取數(shù)據(jù)*/v

6、oid newfile() /*建立新的數(shù)據(jù)文件 */ int i; FILE *fp; if(fp=fopen("stu.dat","wb")=NULL) /*創(chuàng)建二進(jìn)制文件*/ printf("Chuang Jian Shi Bai! Qing Chong Xin Yun Xing Cheng Xu.n"); /*顯示“創(chuàng)建文件失敗,請(qǐng)重新運(yùn)行程序”*/ exit(0); /*終止程序*/ printf(" Chu Ci Yun Xing, Jin Xing Shu Ju Chu Shi Hua.n");/*顯

7、示“初次運(yùn)行,進(jìn)行數(shù)據(jù)初始化.”*/ stop(); clrscr(); printf(" Qing Shu Ru Xue Sheng Ren Shu:");/*顯示“請(qǐng)輸入學(xué)生人數(shù):”*/ scanf("%d",&num); for(i=0;i<num;i+) printf("Qing Shu Ru Di %d Ge Xue Sheng De Xue Hao:",i+1); /*顯示“請(qǐng)輸入第i+1個(gè)學(xué)生的學(xué)號(hào):”*/ getchar(); /*吃回車(chē)*/ gets(stui.no); printf("Xin

8、g Ming:"); /*顯示“姓名:”*/ gets(); printf("Ru Xue Nian:");/*顯示“入學(xué)年”*/ scanf("%d",&stui.year); printf("C-YuYan Cheng Ji:");/*顯示“C語(yǔ)言成績(jī)”*/ scanf("%f",&stui.score0); printf("GaoShu Cheng Ji:");/*顯示“高數(shù)成績(jī)”*/ scanf("%f",&stui

9、.score1); printf("DaWu Cheng Ji:");/*顯示“大物成績(jī)”*/ scanf("%f",&stui.score2); printf("DianLu Cheng Ji:");/*顯示“電路成績(jī)”*/ scanf("%f",&stui.score3); printf("MoDian Cheng Ji:");/*顯示“模電成績(jī)”*/ scanf("%f",&stui.score4); fwrite(&stui,1,siz

10、eof(struct student),fp); /*把第i+1名學(xué)生成績(jī)寫(xiě)入文件*/ fclose(fp); clrscr(); printf("=n"); printf(" Gung Cai Shu Ru De %d Ge Shu Ju Wei:n",num); /*顯示“剛才輸入的 num 個(gè)數(shù)據(jù)為:”*/ printf("=nn"); output();void read1() /*從數(shù)據(jù)文件中讀取數(shù)據(jù) */ FILE *fp; num=0; /*num為數(shù)據(jù)文件中實(shí)際存儲(chǔ)的學(xué)生人數(shù)*/ fp=fopen("stu.

11、dat","r"); if(fp=NULL) /*數(shù)據(jù)文件不存在*/ printf("Wen Jian Da Kai Shi Bai! Chong Xin Yun Xing Cheng Xun"); /*顯示“文件打開(kāi)失敗!重新運(yùn)行程序”*/ exit(0); while(!feof(fp) fread(&stunum,1,sizeof(struct student),fp); num+; num-; fclose(fp); printf("=n"); printf(" Xian You %d Ge Xue

12、 Sheng De Cheng Ji:n",num); /*顯示“現(xiàn)有 NUM個(gè)學(xué)生的成績(jī):”*/ printf("=nn"); output();void weihu() /*維護(hù)界面函數(shù) */ char c1; while(1) clrscr(); printf("nnnttt*n"); printf("ttt* Wei Hu *n"); printf("ttt* 1. Xin Zeng *n"); /*新增*/ printf("ttt* 2. Shan Chu *n"); /*刪

13、除(按學(xué)號(hào))*/ printf("ttt* 3. Xiu Gai *n"); /*修改*/ printf("ttt* ESC. Fan Hui *n"); /*返回*/ printf("ttt*n"); printf("tttQing Xuan Ze:n");/*請(qǐng)選擇:*/ c1=getch(); if(c1=27) break; switch(c1) case '1': new1(); break; case '2': delete1(); case '3': x

14、iugai(); break; default: printf("Xuan Zen You Wu,Qing Chong Xuan!n");/*“選擇有誤,請(qǐng)重選!”*/ void new1() /*新增一個(gè)學(xué)生成績(jī)函數(shù) */ printf("Qing Shu Ru Xue Hao:"); /*顯示“請(qǐng)輸入學(xué)號(hào):”*/ getchar(); /*吃回車(chē)*/ gets(stunum.no); printf("Xing Ming:"); /*顯示“姓名:”*/ gets(); printf("Ru Xue N

15、ian:");/*顯示“入學(xué)年”*/ scanf("%d",&stunum.year); printf("C-YuYan Cheng Ji:");/*顯示“C語(yǔ)言成績(jī)”*/ scanf("%f",&stunum.score0); printf("GaoShu Cheng Ji:");/*顯示“高數(shù)成績(jī)”*/ scanf("%f",&stunum.score1); printf("DaWu Cheng Ji:");/*顯示“大物成績(jī)”*/ sc

16、anf("%f",&stunum.score2); printf("DianLu Cheng Ji:");/*顯示“電路成績(jī)”*/ scanf("%f",&stunum.score3); printf("MoDian Cheng Ji:");/*顯示“模電成績(jī)”*/ scanf("%f",&stunum.score4); num+; printf("n=n"); printf(" Xian You %d Ge Xue Sheng De Che

17、ng Ji:n",num); /*顯示“現(xiàn)有 NUM個(gè)學(xué)生的成績(jī):”*/ printf("=nn"); output();void xiugai() /*修改學(xué)生成績(jī)*/ char xg11; int i; printf("nQing shu ru yao xiu gai xue sheng de xue hao:nn"); gets(xg); for(i=0;i<num;i+) if(strcmp(stui.no,xg)=0)break; if(i=num) printf("nShu ju wen jian wu gai sh

18、eng xi xi!nnQing chong xin shu ru xue hao.nn"); stop(); return; xgcj(i);int xgcj(int x) /*修改成績(jī)*/ char xueke510="Cyuyan"," Gaoshu","Wuli","Dianlu","Modian" char (*p)10,c; int j,k; p=xueke; for(;) clrscr(); printf("n"); printf("ttt*

19、nn"); printf("ttt Cheng Ji n"); printf("ttt 1.C Yu Yan n"); /*C語(yǔ)言*/ printf("ttt 2.Gao Shu n"); /*高數(shù)*/ printf("ttt 3.Wu Li n"); /*大學(xué)物理*/ printf("ttt 4.Dian Lu n"); /*電路*/ printf("ttt 5.Mo Dian n"); /*模電*/ printf("ttt Esc.Fan Hui nn

20、"); /*返回上級(jí)*/ printf("ttt*nn"); printf("tQing xuan ze yao xiu gai de cheng ji(press .4.5.Esc):n"); c=getch(); if(c=27)break; else if (c>='1'&&c<='5') k=c-49; printf("nQing shu ru %s cheng ji:n",p+k); scanf("%f",&stux.score

21、k); printf("nXiu gai hou gai xue sheng xin xi wei:n"); printf("XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDiann"); printf("=n"); printf("%-11s%-10s%-11d",stux.no,,stux.year); for(j=0;j<5;j+) printf("% -7.1f",stux.scorej); printf(&qu

22、ot;n"); else printf("nXuan Zen You Wu,Qing Chong Xuan!nn"); stop(); int find(char sno) /*按學(xué)號(hào)查找 */ int i; for(i=0;i<num;i+) if(strcmp(stui.no,sno)=0) /*判斷兩個(gè)字符串相等*/ return i;/*查找成功*/ return -1;/*查找失敗*/void delete1() /*刪除學(xué)生信息函數(shù)*/ char cno11; int i,j; printf("Qing Shu Ru Yao Shan

23、Chu De Xue Sheng Xue Hao:"); /*“請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)”*/ gets(cno); i=find(cno); if(i!=-1) for(j=i;j<num;j+) stuj=stuj+1; num-; printf("Xian You %d Ge Xue Sheng De Cheng Ji:n",num); /*顯示“現(xiàn)有 NUM個(gè)學(xué)生的成績(jī):”*/ output(); else printf("qing shu ru zheng que de xue hao. n"); stop();void tong

24、ji() /*統(tǒng)計(jì)界面函數(shù) */ int i; char c2; while(1) clrscr(); printf("nnnttt*n"); printf("ttt* Tong Ji *n"); printf("ttt* 1. Xue Sheng Ping Jun Fen *n"); /*計(jì)算學(xué)生平均分*/ printf("ttt* 2. Ke Cheng Ping Jun Fen *n"); /*計(jì)算每門(mén)課程平均分*/ printf("ttt* ESC. Fan Hui *n"); /*返回

25、*/ printf("ttt*n"); printf("tttQing Xuan Ze:n");/*請(qǐng)選擇:*/ c2=getch(); if(c2=27) break; switch(c2) case '1': tongji1(); printf("nnXue Sheng Ping Jun Fen Wei:n"); printf("=n"); printf("XueHao XingMing RuXueNian PingJunFenn"); printf("=n&quo

26、t;); for(i=0;i<num;i+) printf("%-11s% -10s%-11d%-10.2fn",stui.no,,stui.year,stui.ave); stop(); break; case '2': tongji2(); break; default: printf("Xuan Zen You Wu,Qing Chong Xuan!n");/*“選擇有誤,請(qǐng)重選!”*/ void tongji1() /*計(jì)算每個(gè)學(xué)生平均分*/ int i,j; for(i=0;i<num;i+) st

27、ui.ave=0; for(j=0;j<5;j+) stui.ave+=stui.scorej; stui.ave=stui.ave/5; void tongji2() /*計(jì)算每門(mén)課程的平均分*/ int i,j; float sum; float avec5; /*儲(chǔ)存每門(mén)課的平均分*/ for(j=0;j<5;j+) sum=0; for(i=0;i<num;i+) sum+=stui.scorej; avecj=sum/num; printf("nnGe Ke Ping Jun Fen Wei:n");/*“各科平均分:”*/ printf(&qu

28、ot;=n"); printf("C GaoShu DaWu DianLu MoDiann"); printf("=n"); for(i=0;i<5;i+) printf("%-7.1f",aveci); printf("n"); stop();void paixu1() /*排序界面*/ char c3; for(;) clrscr(); printf("nnn"); printf("ttt*n"); printf("ttt* Pai Xu * n

29、"); printf("ttt* 1. An Xue Hao * n"); /*按學(xué)號(hào)排序*/ printf("ttt* 2. An Ping Jun Fen * n"); /*按平均分排序*/ printf("ttt* 3. An dan ke cheng ji * n"); /*按單科成績(jī)排序*/ printf("ttt* ESC. Fan Hui * n"); /*返回*/ printf("ttt*nn"); printf("tQing Xuan Ze(press .E

30、sc):n");/*請(qǐng)選擇:*/ c3=getch(); if(c3=27) break; switch(c3) case '1':paino();break; case '2':paiave();break; case '3':paidkcj();break; default: printf("nXuan Zen You Wu,Qing Chong Xuan!nn");/*選擇有誤,請(qǐng)重選!*/ stop(); void paino() /*按學(xué)號(hào)排序*/ /*按學(xué)號(hào)從低到高冒泡法排序*/ int i,j,k; f

31、or(i=0;i<num;i+) for(j=0;j<num-1-i;j+) if(strcmp(stuj.no,stuj+1.no)>0) change(j,j+1); printf("nPai Xu Hou Wei:n"); /*“排序后為:”*/ output();void paiave() /*按平均分排序 */ /*按平均分從高到低冒泡法排序*/ int i,j; struct student temp; tongji1(); /*計(jì)算平均成績(jī)*/ for(i=0;i<num;i+) for(j=0;j<num-i-1;j+) if(

32、stuj.ave<stuj+1.ave) change(j,j+1); printf("ntPai Xu Hou Wei:n"); /*“排序后為:”*/ printf("t=n"); printf("tXueHao XingMing RuXueNian Ave Pai mingn"); printf("t=n"); for(i=0;i<num;i+) printf("t%-11s% -10s%-11d%-6.2f %4dn",stui.no, ,stui.year

33、,stui.ave,i+1); stop();void paidkcj() /*按單科成績(jī)排序*/ char c; int i,j,k; for(;) clrscr(); printf("n"); printf("ttt*nn"); printf("ttt Dan Ke Cheng Ji n"); printf("ttt 1.C Yu Yan n"); /*C語(yǔ)言*/ printf("ttt 2.Gao Shu n"); /*高數(shù)*/ printf("ttt 3.Wu Li n&quo

34、t;); /*大學(xué)物理*/ printf("ttt 4.Dian Lu n"); /*電路*/ printf("ttt 5.Mo Dian n"); /*模電*/ printf("ttt Esc.Fan Hui nn"); /*返回上級(jí)*/ printf("ttt*nn"); printf("tQing xuan ze(press .4.5.Esc):n"); c=getch(); if(c=27)break; else if (c>='1'&&c<=

35、'5') k=c-49; for(i=0;i<num;i+) for(j=0;j<num-1-i;j+) if(stuj.scorek<stuj+1.scorek) change(j,j+1); outputx(k); else printf("nXuan Zen You Wu,Qing Chong Xuan!nn"); stop(); void change(int i,int j) /*交換結(jié)構(gòu)體數(shù)組中的兩個(gè)記錄*/ struct student temp; temp=stui; stui=stuj; stuj=temp;void ou

36、tputx(int k) /*選擇輸出單科成績(jī)*/ char xueke510="Cyuyan","Gaoshu","Wuli","Dianlu","Modian" char (*p)10; /*定義一個(gè)指向包含10個(gè)字符型元素的一維數(shù)組的指針變量*/ int i; p=xueke; printf("ntPai Xu Hou Wei:n"); printf("t=n"); printf("tXueHao XingMing RuXueNian %s

37、 Pai Mingn",p+k); printf("t=n"); for(i=0;i<num;i+) printf("t%-11s% -10s%-11d%-6.1f%5dn",stui.no, ,stui.year,stui.scorek,i+1);void find1() /*查找界面函數(shù)*/ char c4; char cno11,cname10; int i,j,cyear; while(1) clrscr(); printf("ttt*n"); printf("ttt* Cha Zh

38、ao *n"); printf("ttt* 1. An Xue Hao *n"); /*按學(xué)號(hào)查找*/ printf("ttt* 2. An Xing Ming *n"); /*按姓名查找*/ printf("ttt* 3. An Ru Xue Nian *n"); /*按入學(xué)年查找*/ printf("ttt* ESC. Fan Hui *n"); /*返回*/ printf("ttt*n"); printf("tttQing Xuan Ze:n");/*請(qǐng)選擇:

39、*/ c4=getch(); if(c4=27) break; switch(c4) case '1': printf("Shu Ru Xue Hao:n");/*“輸入學(xué)號(hào):”*/ gets(cno); i=find(cno); panduani( i); break; case '2': printf("Shu Ru Xing Ming:n");/*“輸入姓名:”*/ gets(cname); i=findname(cname); panduani(i); break; case '3': printf

40、("Shu Ru RU Xue Nian:n");/*“輸入入學(xué)年”*/ scanf("%d",&cyear); findyear(cyear); stop(); break; default: printf("Xuan Zen You Wu,Qing Chong Xuan!n");/*“選擇有誤,請(qǐng)重選!”*/ int findname(char cname) /*按姓名查找*/ int i; for(i=0;i<num;i+) if(strcmp(,cname)=0) /*判斷兩個(gè)字符串相等*/ r

41、eturn i; /*查找成功*/ return -1; /*查找失敗*/void findyear(int cyear) int i,j,flag=0; for(i=0;i<num;i+) if(stui.year=cyear) flag=1;break; if(flag=0) printf("Yao Cha Zhao De Xue Sheng Bu Cun Zain");stop(); else printf("Cha Zhao Dao De Xue Sheng Xin Xi Wei:n");/*“查找到的學(xué)生信息為:”*/ printf(&q

42、uot;XueHao XingMing RuXueNian C GaoShu DaWu DianLu MoDiann"); printf("=n"); for(i=0;i<num;i+) if(stui.year=cyear) /*判斷兩個(gè)數(shù)值相等*/ printf("%-11s% -10s%-11d",stui.no,,stui.year); for(j=0;j<5;j+) printf("% -7.1f",stui.scorej); printf("n"); int panduani(int i) /*通過(guò)i的值,判斷信息要查找的信息是否存在*/ int j; if(i=-1) printf("Yao Cha Zhao De Xue Sheng Bu C

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論