C語言課程設(shè)計(jì)報(bào)告_學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
C語言課程設(shè)計(jì)報(bào)告_學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
C語言課程設(shè)計(jì)報(bào)告_學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
C語言課程設(shè)計(jì)報(bào)告_學(xué)生成績(jī)管理系統(tǒng)_第4頁(yè)
C語言課程設(shè)計(jì)報(bào)告_學(xué)生成績(jī)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z*include*include/* strcmp函數(shù)原型包含*/*define N 100/*定義最大學(xué)生人數(shù)為100*/struct student /*學(xué)生構(gòu)造體定義*/ char no11; /*,10位*/ char name10;/*,3個(gè)漢字*/ float score5;/*儲(chǔ)存5門功課的成績(jī)*/ float ave;/*儲(chǔ)存平均分*/ int year;/*入學(xué)年*/stuN;int num;int panduani(int); /*通過i的值,判斷信息要查找的信息是否存在*/void output(); /*輸出學(xué)生成績(jī)函數(shù)公共函數(shù)*/void init(); /*

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

3、oid paino(); /*按*排序*/void paiave(); /*按平均分排序*/void paidkcj(); /*按單科成績(jī)排序*/void change(int,int); /*交換構(gòu)造體數(shù)組中的兩個(gè)記錄*/void output*(int); /*選擇輸出單科成績(jī) 修樓編*/void find1(); /*查找界面函數(shù)*/int find(char sno); /*按*查找*/int findname(char ame);/*按*查找*/void findyear(int cyear); /*按入學(xué)年查找*/void save(); /*保存文件*/void stop();

4、/*停頓函數(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(*ueHao *ingMing Ru*ueNian C GaoShu DaWu DianLu MoDiann); printf(=n); for(i=0;inum;i+) printf(%-11s% -10s%-11d,stui.no,,stui.year); for(j=0;j5;j+) printf(

5、% -7.1f,stui.scorej); printf(n); stop();void init() /*系統(tǒng)初始化函數(shù) */ if(access(stu.dat,0) /*判斷文件是否存在*/ newfile(); /*假設(shè)不存在,新建數(shù)據(jù)文件*/ else read1(); /*假設(shè)存在,讀取數(shù)據(jù)*/void 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 *in Yun *ing Cheng

6、*u.n); /*顯示創(chuàng)立文件失敗,請(qǐng)重新運(yùn)行程序*/ e*it(0); /*終止程序*/ printf( Chu Ci Yun *ing, Jin *ing Shu Ju Chu Shi Hua.n);/*顯示初次運(yùn)行,進(jìn)展數(shù)據(jù)初始化.*/ stop(); clrscr(); printf( Qing Shu Ru *ue Sheng Ren Shu:);/*顯示請(qǐng)輸入學(xué)生人數(shù):*/ scanf(%d,&num); for(i=0;inum;i+) printf(Qing Shu Ru Di %d Ge *ue Sheng De *ue Hao:,i+1); /*顯示請(qǐng)輸入第i+1個(gè)學(xué)生的*

7、:*/ getchar(); /*吃回車*/ gets(stui.no); printf(*ing Ming:); /*顯示*:*/ gets(); printf(Ru *ue Nian:);/*顯示入學(xué)年*/ scanf(%d,&stui.year); printf(C-YuYan Cheng Ji:);/*顯示C語言成績(jī)*/ scanf(%f,&stui.score0); printf(GaoShu Cheng Ji:);/*顯示高數(shù)成績(jī)*/ scanf(%f,&stui.score1); printf(DaWu Cheng Ji:);/*顯示大物成績(jī)*/ scanf(%

8、f,&stui.score2); printf(DianLu Cheng Ji:);/*顯示電路成績(jī)*/ scanf(%f,&stui.score3); printf(MoDian Cheng Ji:);/*顯示模電成績(jī)*/ scanf(%f,&stui.score4); fwrite(&stui,1,sizeof(struct student),fp); /*把第i+1名學(xué)生成績(jī)寫入文件*/ fclose(fp); clrscr(); printf(=n); printf( Gung Cai Shu Ru De %d Ge Shu Ju Wei:n,num); /*顯示剛剛輸入的 num 個(gè)

9、數(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.dat,r); if(fp=NULL) /*數(shù)據(jù)文件不存在*/ printf(Wen Jian Da Kai Shi Bai! Chong *in Yun *ing Cheng *un); /*顯示文件翻開失??!重新運(yùn)行程序*/ e*it(0); while(!feof(fp) fread(&stunum,1,sizeof(struct student),fp);num+;

10、num-; fclose(fp); printf(=n); printf( *ian You %d Ge *ue 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. *in Zeng *n); /*新增*/ printf(ttt* 2. Shan Chu *n); /*刪除按*/ printf(

11、ttt* 3. *iu Gai *n); /*修改*/ printf(ttt* ESC. Fan Hui *n); /*返回*/ printf(ttt*n); printf(tttQing *uan Ze:n);/*請(qǐng)選擇:*/ c1=getch(); if(c1=27) break; switch(c1) case 1: new1();break; case 2: delete1(); case 3: *iugai(); break; default: printf(*uan Zen You Wu,Qing Chong *uan!n);/*選擇有誤,請(qǐng)重選!*/ void new1() /*

12、新增一個(gè)學(xué)生成績(jī)函數(shù) */ printf(Qing Shu Ru *ue Hao:); /*顯示請(qǐng)輸入*:*/ getchar(); /*吃回車*/ gets(stunum.no); printf(*ing Ming:); /*顯示*:*/ gets(); printf(Ru *ue Nian:);/*顯示入學(xué)年*/ scanf(%d,&stunum.year); printf(C-YuYan Cheng Ji:);/*顯示C語言成績(jī)*/ scanf(%f,&stunum.score0); printf(GaoShu Cheng Ji:);/*顯示高數(shù)成績(jī)*/ scanf

13、(%f,&stunum.score1); printf(DaWu Cheng Ji:);/*顯示大物成績(jī)*/ scanf(%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( *ian You %d Ge *ue Sheng De Cheng Ji:n,num); /*顯示現(xiàn)有 NUM個(gè)學(xué)生的成績(jī):*/ pri

14、ntf(=nn); output();void *iugai() /*修改學(xué)生成績(jī)*/ char *g11; int i; printf(nQing shu ru yao *iu gai *ue sheng de *ue hao:nn); gets(*g); for(i=0;i=1&c=5) k=c-49; printf(nQing shu ru %s cheng ji:n,p+k); scanf(%f,&stu*.scorek); printf(n*iu gai hou gai *ue sheng *in *i wei:n); printf(*ueHao *ingMing Ru*ueNian

15、 C GaoShu DaWu DianLu MoDiann); printf(=n); printf(%-11s%-10s%-11d,stu*.no,stu*.name,stu*.year); for(j=0;j5;j+) printf(% -7.1f,stu*.scorej); printf(n); else printf(n*uan Zen You Wu,Qing Chong *uan!nn); stop(); int find(char sno) /*按*查找 */ int i; for(i=0;inum;i+) if(strcmp(stui.no,sno)=0) /*判斷兩個(gè)字符串相等

16、*/ return i;/*查找成功*/ return -1;/*查找失敗*/void delete1() /*刪除學(xué)生信息函數(shù)*/ char o11; int i,j; printf(Qing Shu Ru Yao Shan Chu De *ue Sheng *ue Hao:); /*請(qǐng)輸入要?jiǎng)h除的學(xué)生*/ gets(o); i=find(o); if(i!=-1) for(j=i;jnum;j+) stuj=stuj+1; num-; printf(*ian You %d Ge *ue Sheng De Cheng Ji:n,num); /*顯示現(xiàn)有 NUM個(gè)學(xué)生的成績(jī):*/ output

17、(); else printf(qing shu ru zheng que de *ue hao. n); stop();void tongji() /*統(tǒng)計(jì)界面函數(shù) */ int i; char c2; while(1) clrscr(); printf(nnnttt*n); printf(ttt* Tong Ji *n); printf(ttt* 1. *ue Sheng Ping Jun Fen *n); /*計(jì)算學(xué)生平均分*/ printf(ttt* 2. Ke Cheng Ping Jun Fen *n); /*計(jì)算每門課程平均分*/ printf(ttt* ESC. Fan Hui

18、 *n); /*返回*/ printf(ttt*n); printf(tttQing *uan Ze:n);/*請(qǐng)選擇:*/ c2=getch(); if(c2=27) break; switch(c2) case 1: tongji1(); printf(nn*ue Sheng Ping Jun Fen Wei:n); printf(=n); printf(*ueHao *ingMing Ru*ueNian PingJunFenn);printf(=n); for(i=0;inum;i+) printf(%-11s% -10s%-11d%-10.2fn,stui.no,,s

19、tui.year,stui.ave); stop(); break; case 2: tongji2(); break; default: printf(*uan Zen You Wu,Qing Chong *uan!n);/*選擇有誤,請(qǐng)重選!*/ void tongji1() /*計(jì)算每個(gè)學(xué)生平均分*/ int i,j; for(i=0;inum;i+) stui.ave=0; for(j=0;j5;j+) stui.ave+=stui.scorej; stui.ave=stui.ave/5; void tongji2() /*計(jì)算每門課程的平均分*/ int i,j; float sum

20、; float avec5; /*儲(chǔ)存每門課的平均分*/ for(j=0;j5;j+) sum=0; for(i=0;inum;i+) sum+=stui.scorej; avecj=sum/num; printf(nnGe Ke Ping Jun Fen Wei:n);/*各科平均分:*/printf(=n); printf(C GaoShu DaWu DianLu MoDiann); printf(=n); for(i=0;i5;i+) printf(%-7.1f,aveci); printf(n); stop();void pai*u1() /*排序界面*/ char c3; for(;

21、) clrscr(); printf(nnn); printf(ttt*n); printf(ttt* Pai *u * n); printf(ttt* 1. An *ue Hao * n); /*按*排序*/ 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 *uan Ze(press .Esc):n);/*請(qǐng)選

22、擇:*/c3=getch(); if(c3=27) break; switch(c3) case 1:paino();break; case 2:paiave();break; case 3:paidkcj();break; default: printf(n*uan Zen You Wu,Qing Chong *uan!nn);/*選擇有誤,請(qǐng)重選!*/ stop(); void paino() /*按*排序*/ /*按*從低到高冒泡法排序*/ int i,j,k; for(i=0;inum;i+) for(j=0;j0) change(j,j+1); printf(nPai *u Hou

23、Wei:n); /*排序后為:*/ output();void paiave() /*按平均分排序 */ /*按平均分從高到低冒泡法排序*/ int i,j; struct student temp; tongji1(); /*計(jì)算平均成績(jī)*/ for(i=0;inum;i+) for(j=0;jnum-i-1;j+) if(stuj.avestuj+1.ave) change(j,j+1); printf(ntPai *u Hou Wei:n); /*排序后為:*/ printf(t=n); printf(t*ueHao *ingMing Ru*ueNian Ave Pai mingn);

24、printf(t=n); for(i=0;i=1&c=5) k=c-49; for(i=0;inum;i+) for(j=0;jnum-1-i;j+) if(stuj.scorekstuj+1.scorek) change(j,j+1); output*(k); else printf(n*uan Zen You Wu,Qing Chong *uan!nn); stop(); void change(int i,int j) /*交換構(gòu)造體數(shù)組中的兩個(gè)記錄*/ struct student temp; temp=stui; stui=stuj; stuj=temp;void output*(i

25、nt k) /*選擇輸出單科成績(jī)*/ char *ueke510=Cyuyan,Gaoshu,Wuli,Dianlu,Modian; char (*p)10; /*定義一個(gè)指向包含10個(gè)字符型元素的一維數(shù)組的指針變量*/int i; p=*ueke; printf(ntPai *u Hou Wei:n); printf(t=n); printf(t*ueHao *ingMing Ru*ueNian %s Pai Mingn,p+k); printf(t=n); for(i=0;inum;i+) printf(t%-11s% -10s%-11d%-6.1f%5dn,stui.no,stui.na

26、me,stui.year,stui.scorek,i+1);void find1() /*查找界面函數(shù)*/ char c4; char o11,ame10; int i,j,cyear; while(1) clrscr();printf(ttt*n); printf(ttt* Cha Zhao *n); printf(ttt* 1. An *ue Hao *n); /*按*查找*/ printf(ttt* 2. An *ing Ming *n); /*按*查找*/ printf(ttt* 3. An Ru *ue Nian *n); /*按入學(xué)年查找*/ printf(ttt* ESC. Fa

27、n Hui *n); /*返回*/ printf(ttt*n); printf(tttQing *uan Ze:n);/*請(qǐng)選擇:*/ c4=getch(); if(c4=27) break; switch(c4) case 1: printf(Shu Ru *ue Hao:n);/*輸入*:*/gets(o); i=find(o); panduani( i); break; case 2: printf(Shu Ru *ing Ming:n);/*輸入*:*/ gets(ame); i=findname(ame); panduani(i); break; case 3: printf(Shu

28、 Ru RU *ue Nian:n);/*輸入入學(xué)年*/ scanf(%d,&cyear); findyear(cyear); stop(); break; default: printf(*uan Zen You Wu,Qing Chong *uan!n);/*選擇有誤,請(qǐng)重選!*/ int findname(char ame) /*按*查找*/ int i; for(i=0;inum;i+) if(strcmp(,ame)=0) /*判斷兩個(gè)字符串相等*/ return i; /*查找成功*/ return -1; /*查找失敗*/void findyear(int cy

29、ear) int i,j,flag=0; for(i=0;inum;i+) if(stui.year=cyear) flag=1;break; if(flag=0) printf(Yao Cha Zhao De *ue Sheng Bu Cun Zain);stop(); else printf(Cha Zhao Dao De *ue Sheng *in *i Wei:n);/*查找到的學(xué)生信息為:*/ printf(*ueHao *ingMing Ru*ueNian C GaoShu DaWu DianLu MoDiann); printf(=n); for(i=0;inum;i+) if(

30、stui.year=cyear) /*判斷兩個(gè)數(shù)值相等*/ printf(%-11s% -10s%-11d,stui.no,,stui.year); for(j=0;j5;j+) printf(% -7.1f,stui.scorej); printf(n); int panduani(int i) /*通過i的值,判斷信息要查找的信息是否存在*/ int j; if(i=-1) printf(Yao Cha Zhao De *ue Sheng Bu Cun Zain);/*要查找的學(xué)生不存在*/ stop(); else printf(Cha Zhao Dao De *ue Sheng *in *i Wei:n);/*查找到的學(xué)生信息為:*/ printf(*ueHao *ingMing Ru*ueNian C GaoShu DaWu DianLu MoDiann); pri

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論