c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)含源代碼_第1頁(yè)
c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)含源代碼_第2頁(yè)
c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)含源代碼_第3頁(yè)
c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)含源代碼_第4頁(yè)
c語(yǔ)言學(xué)生成績(jī)管理系統(tǒng)含源代碼_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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、C語(yǔ)言程序設(shè)計(jì)作業(yè)一設(shè)計(jì)項(xiàng)目:學(xué)生成績(jī)管理系統(tǒng)二總體設(shè)計(jì): 1程序設(shè)計(jì)組成框圖:"學(xué)生於績(jī)管理系統(tǒng)廠輸入學(xué)、查看學(xué)通過(guò)學(xué)統(tǒng)計(jì)成通過(guò)學(xué)廠添加學(xué)'通過(guò)學(xué)保存學(xué)廠退岀程、生成績(jī)生成績(jī)號(hào)查詢績(jī)信息號(hào)修改生成績(jī)號(hào)刪除生成績(jī)序及成績(jī)學(xué)生成學(xué)生成學(xué)生成排序績(jī)績(jī)績(jī)k. /2:模塊功能說(shuō)明:1輸入功能:輸入學(xué)生學(xué)號(hào)及成績(jī)。2查看功能:輸出學(xué)號(hào)及各科成績(jī)。3查詢功能:通過(guò)學(xué)號(hào)查詢學(xué)生及各科成績(jī)。4統(tǒng)計(jì)功能:統(tǒng)計(jì)班級(jí)學(xué)生及格率,優(yōu)秀率,各個(gè)學(xué)生成績(jī)方差等。5修改功能:通過(guò)輸入學(xué)號(hào)修改指定學(xué)生的錯(cuò)誤信息。6添加功能:添加學(xué)生信息。7刪除功能:通過(guò)輸入學(xué)號(hào)輸入指定學(xué)生信息。8保存功能:將學(xué)生信息保存。

2、9退出系統(tǒng)。3:主要函數(shù)之間的調(diào)用關(guān)系及各自功能:主要函數(shù)的函數(shù)原型void inputscore(void):void savescore(void):void avergescore(void):void modifyscore(void):void lookscore(void):void searchscore(void):void statistic(void):void add(void):void modify(void);void delscore(void): void menu(void); 11. 111.iv.在菜單界面輸入1,調(diào)用函數(shù)inputscore()實(shí)現(xiàn)輸入學(xué)

3、生成績(jī)信息功能。 在菜單界面2,調(diào)用函數(shù)lookscore ()實(shí)現(xiàn)學(xué)生成績(jī)按平均分髙低排序 輸。出,同時(shí)1 ookscore()函數(shù)調(diào)用avergescore()函數(shù)實(shí)現(xiàn)各個(gè)學(xué)生平 均分的計(jì)算。在菜單界面輸入3,調(diào)用searchscore()函數(shù)實(shí)現(xiàn)通過(guò)學(xué)號(hào)查找學(xué)生成績(jī) 信息功能。在菜單界面輸入4,調(diào)用statisticO函數(shù)輸出班級(jí)及格率,優(yōu)秀率,學(xué) 生成績(jī)方差,不及格學(xué)生。vi. Vll. Vlllix.在菜單界面輸入6,調(diào)用add()函數(shù)實(shí)現(xiàn)添加學(xué)生成績(jī)o在菜單界面輸入7,調(diào)用delscoreO函數(shù)實(shí)現(xiàn)刪除指定學(xué)生成績(jī)。 在菜單界面輸入&調(diào)用savescore()函數(shù)將學(xué)生成績(jī)

4、信息保存。在菜單界面輸入9,退出成績(jī)管理系統(tǒng)。在菓單界面輸入5,調(diào)用modifyO函數(shù)實(shí)現(xiàn)通過(guò)學(xué)號(hào)修改學(xué)生成績(jī)的功 能三程序運(yùn)行效果截圖1主菜單Debugkbig ese生單學(xué)菜12345678?序Lkr應(yīng)一成績(jī)一g 一及成一二一二2 成成字統(tǒng)成成成成«. 心入看詢績(jī)改加臂岀* 一查成修添刪保退請(qǐng)輸入您的選擇2輸入成績(jī)?nèi)胛粩?shù)為8隹的數(shù)字派3查看成績(jī)i:Debugbig.exe*1201181607peng9*7.0096.0093.0095.332201181608wnhk36盹31.0056.0041.00按任意鍵繼續(xù)4查詢成績(jī)匸、*E:Debugbig.exe爾入需查詢的學(xué)生學(xué)號(hào)

5、291181607層次學(xué)號(hào)姓名數(shù)學(xué)英語(yǔ)計(jì)算機(jī)平均分1201181607peng97.0096.0093.0095.33腰任意犍繼續(xù)5統(tǒng)計(jì)成績(jī)E:YDebugbig-exe2.11單 70X0X為為名 A.0-0差差生 685050方方學(xué) 為為為績(jī)績(jī)的 分率養(yǎng)密 均格篇的于 平建nghk低 及及及e nj 幺之纟-pw 班班班曲寶均506修改成績(jī)*E:Debugbig.exe請(qǐng)輸入需要修改成績(jī)的學(xué)生學(xué)號(hào)201181607名次學(xué)號(hào)姓名數(shù)學(xué)英語(yǔ)計(jì)算機(jī) 平均分i201181607pencp97.0096.0093.0D95.33請(qǐng)重新輸入該學(xué)生的學(xué)號(hào)姓名:201181&07 pens直奎新輸學(xué)

6、生成逓二+聶學(xué) 英語(yǔ) 計(jì)算機(jī)97 96 93修改成功按任意鍵繼續(xù)7添加成績(jī)c、*E:Debugbig-exe*馬輸入學(xué)生3的學(xué)號(hào)姓名:201181609 dshs1FW=計(jì)算機(jī)100 96 90傑加成功按任意鍵繼續(xù)8刪除成績(jī)>'"E: Debugbig. exe*201181608未找到該嘗生信息名次李號(hào)姓名 數(shù)學(xué)英語(yǔ)計(jì)算機(jī)平均分2201181608wnhk 36.0031.0056.0041.00是否刪除該學(xué)生成績(jī)("2前除成績(jī)成功按任意犍繼續(xù)9保存成績(jī)小"E:Debugbig.exe*餐否保存學(xué)生成績(jī)a/小四個(gè)人總結(jié)整個(gè)程序主要運(yùn)用了課本上的基礎(chǔ)

7、知識(shí),并未有太大創(chuàng)新,通過(guò)for循環(huán),循環(huán)輸入學(xué) 生成績(jī)。在學(xué)生成績(jī)排序中運(yùn)用選擇法,同時(shí)實(shí)現(xiàn)學(xué)生名次的確定。在刪除指定學(xué)生成績(jī)時(shí), 先確定信息存儲(chǔ)位置即其在結(jié)構(gòu)體數(shù)組中的序號(hào),通過(guò)結(jié)構(gòu)體變量的整體賦值將從指定位置 以后的學(xué)生信息賦給前一個(gè)結(jié)構(gòu)體變量,并將學(xué)生總數(shù)n減1,實(shí)現(xiàn)刪除學(xué)生成績(jī)信息。源代碼#include<stdio.h>#include<stdlib.h>frinclude<string. h>#include<process h>#include<conio. h>#define N 30#define M 3typed

8、ef struct student char number10:char name20;float scoreM:float aver;float total;STU;STU stuN;int n;void inputscore(void);void savescore(void):void avergescore(void):void total(void):void modifyscore(void): void lookscore(void): void searchscore(void): void statistic(void): void add(void): void modif

9、y(void); void delscore(void): void menu(oid); void main() short int flag二0; menu();do(flag=l; switch (getchO) casecasecasecasecasecasecasecasecasei : inputscore() ; break; 2 : lookscore():break; '3' : searchscore();break; 9 4f : statisticO :break; 5 : modify():break; 6 : add():break;7 : dels

10、coreO ;break;8 : savescore();break; 9 :exit(0);/*輸入成績(jī)*/ /*查看成績(jī)*/ /*查找成績(jī)*/ /*成績(jī)統(tǒng)計(jì)*/ /*修改成績(jī)*/ /*添加成績(jī)*/ /*刪除成績(jī)*/ /*保存成績(jī)*/ /*退出程序*/default : printf("輸入有誤n"); printf (”按任意鍵繼續(xù)n”);getchO ; menu();while (flag=l):void menu(oid)systemC'cls");printf(nn");printf (n*歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng)*nM); prin

11、tf ("菜單n"):printf C輸入成績(jī)ln*);printf (n查看成績(jī)及成績(jī)排序2nM);printf ("查詢學(xué)生成績(jī)3n");printf C 成績(jī)統(tǒng)計(jì)4n*) printf ("修改成績(jī)5n") printf ("添加成績(jī)6n") printf C 刪除成績(jī)7n")printf ("保存成績(jī)8n")printf C退出系統(tǒng)9n*)printf(w請(qǐng)輸入您的選擇十);/* 轍入各個(gè) 同 學(xué)的學(xué) 生信息(王.超)*/void inputscore(void) int i,

12、j;system(”cls");printf("請(qǐng)輸入學(xué)生總數(shù):nw);scanf (',%d",&n);printfC提示:*輸入學(xué)號(hào)時(shí)請(qǐng)輸入由1位大寫字母和8位數(shù)字組成的學(xué)號(hào),如 P01214000*n,);/*因二維表上下需對(duì)正故有此要求*/for(i=0;i<n;i+) printf("請(qǐng)輸入學(xué)生d的學(xué)號(hào):n",i+l);scanf(w%s%sH,stui number.stui name); printf ("請(qǐng)輸入學(xué)生成績(jī):n"); printf (n高數(shù)t物理tC語(yǔ)言n");fo

13、r(j=0;j<M; j+)scanf (M%f,&stui scorej);printf (M成功輸入n");/*計(jì)算各個(gè)同學(xué)的總分(友)Me*/ void total(void) int i,j;for(i=0;i<n;i+) stui. total二0;for(j=0;j<M;j+)stui total+=stui scorej:/*if 算 各個(gè)同 學(xué)的平 i*/ void avergescore(void) int i,j;for(i=0;i<n;i+) stu訂.aver=0;for(j=0;j<M;j+)stui aver+=stu

14、i scorej:stui aver=stui aver/M;/*查看學(xué)生成績(jī)及根據(jù)平均分對(duì)學(xué)生進(jìn)行排序*/void lookscore(void) int i jk;STU t;total ();avergescore ();systemCcls");for(i=0;i<n-l;i+) for(k=i,j=i+l;j<n;j+)if(stuj. aver>stuk aver)k=j;if(k!=j) t=stuk:stuk=stui:stui=t;printfC名次t學(xué)號(hào)ttt高數(shù)t物理tC語(yǔ)言t總分t平均分n"); for (i=0;i<n;i+

15、)printf (t%st%st,f, i+1.stui. number, stui. name):for(j=0; j<M; j+)printf (”4 2ftM,stui. scoreEj);printf (%4. 2ftw, stui. total);printf (%4. 2f", stui. aver);printf ("n");/*ig 過(guò)輸入學(xué)號(hào)查找學(xué)生成績(jī)*/ void searchscore(void) char a10:int i.j;systemCcls");printf("請(qǐng)輸入需查詢的學(xué)生學(xué)號(hào)n");

16、scanf(H%s",a);for(i=0;i<n;i+) if(strcmp(at stui number)=0) printf(H名次t學(xué)號(hào)ttt高數(shù)t物理tC語(yǔ)言t總分t平均分n"); printf (M%dt%st%stwt i + 1, stui. number, stui. name); for(j=0;j<M;j+)printf (u%4. 2ftn,stui. scoreEj); printf (u%4. 2ftn,stui. total); printf (H%4 2fn.stui. aver): printf ("n"):

17、break;/*找到該學(xué)生成績(jī)信息后班出for循環(huán)*/else printfC未找到該學(xué)生信息n);./*統(tǒng)計(jì)學(xué)生成績(jī)信息,平均分及格率,優(yōu)秀率*/void statistic(void) STU *p=stu;int i.j;float count=0. 0,sum=0. 0;systemCcls");for(i=0;i<n;i+) sum+=(p+i)->aver;printf ("該班級(jí)平均分為4. 2fn", sum/n);/*平均分計(jì)算*/for(i=0;i<n;i+) if (p+i)->aver>=60)count+;p

18、rintf U該班級(jí)及格率為%4.2f%ncount/n*100);/*及格率計(jì)算*/count=0. 0;for(i=0;i<n;i+) if (p+i) ->aver>=:90)count+;printf(M該班級(jí)優(yōu)秀率為%4.2f%ncount/n*100);/*優(yōu)秀率計(jì)算*/printfC'平均分低于60的學(xué)生n");for(i=0;i<n;i+)if(stui. aver<60)printf (n%sn1 stui name);/*統(tǒng)計(jì)不及格學(xué)生*/* 改學(xué)生 成績(jī) */void modify(void) char a10;int i,

19、j;systemCcls");printfC請(qǐng)輸入需要修改成績(jī)的學(xué)生學(xué)號(hào)n");scanf(M%s",a);for(i=0;i<n;i+) if(strcmp(a,stui number)=0) printfC名次t學(xué)號(hào)ttt高數(shù)t物理tC語(yǔ)ft總分t平均分n"); printf (w%dt%st%stwr i + 1, stui. number, stui. name);for(j=0;j<M;j+)printf (H%4. 2ftn, stui. scoreEj);printfC*%4. 2fstui. total);printf (M%

20、4. 2fn,stui. aver);printf ("n"); printfC請(qǐng)重新輸入該學(xué)生的學(xué)號(hào):rT); scanf (,%s%srtt stui number, stui name); printfC'請(qǐng)重新輸入學(xué)生成績(jī):n"); printfC高數(shù)t物理tC語(yǔ)言n");for(j=0;j<M;j+)scanf (R%f &stu i. scorej) ;/*找到該學(xué)生成績(jī)后進(jìn)行修改,跳 出for循環(huán)*/printfC'修改成功n");break;else printfC請(qǐng)確認(rèn)該學(xué)生是否為本班學(xué)生! 十)

21、;/* 加學(xué) 生成績(jī)*/void add(void) int at i,j;systemC'cls");printfC請(qǐng)輸入新增加的學(xué)生人數(shù):rT);scanf (%d,&3);n=n+a;for (i=n-a;i<n;i+)printf("請(qǐng)輸入學(xué)生%d的學(xué)號(hào):n",i+l);seanf("%s%s".stui number.stui name);printf (n請(qǐng)輸入學(xué)生成績(jī):n");printf ("高數(shù)t物理tC語(yǔ)言n");for(j=0; j<M; j+)scanf (M%f

22、,&stui scorej);printf 添加成功n");/*除學(xué)生 成績(jī) */void delscore(void) int i.j.c;char m,a10:system(Mclsrf);printf ("請(qǐng)輸入學(xué)生學(xué)號(hào)n");scanf(n%s",a);for(i=0;i<n;i+)if(stremp(at stui number)=0) printf ("名次t學(xué)號(hào)ttt高數(shù)t物理tC語(yǔ)言t總分t平均分n"); printf (H%dt%st%st t i + 1, stui. number, stui. name); for(j=0;

溫馨提示

  • 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)論