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è),還剩8頁(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é)生成績(jī)查看學(xué)生成績(jī)及成績(jī)排序通過(guò)學(xué)號(hào)查詢學(xué)生成績(jī)統(tǒng)計(jì)成績(jī)信息通過(guò)學(xué)號(hào)修改學(xué)生成績(jī)添加學(xué)生成績(jī)通過(guò)學(xué)號(hào)刪除學(xué)生成績(jī)保存學(xué)生成績(jī)退出程序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é)生信息保存。9 退出系

2、統(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);1 / 13void delscore(void);void menu(void);i. 在菜單界面輸入1,調(diào)用函數(shù)inputscore( )實(shí)現(xiàn)輸入學(xué)生成績(jī)信息功

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

4、生成績(jī)。viii. 在菜單界面輸入8,調(diào)用savescore()函數(shù)將學(xué)生成績(jī)信息保存。ix. 在菜單界面輸入9,退出成績(jī)管理系統(tǒng)。開(kāi)始輸入指令19輸入成績(jī)查詢成績(jī)成績(jī)統(tǒng)計(jì)修改成績(jī)添加成績(jī)刪除成績(jī)保存成績(jī)顯示成績(jī)123456789退出三 程序運(yùn)行效果截圖1 主菜單2 輸入成績(jī)3 查看成績(jī)4 查詢成績(jī)5統(tǒng)計(jì)成績(jī)6修改成績(jī)7 添加成績(jī)8 刪除成績(jī)9保存成績(jī)四 個(gè)人總結(jié)整個(gè)程序主要運(yùn)用了課本上的基礎(chǔ)知識(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)體變量的整體賦值將從指

5、定位置以后的學(xué)生信息賦給前一個(gè)結(jié)構(gòu)體變量,并將學(xué)生總數(shù)n減1,實(shí)現(xiàn)刪除學(xué)生成績(jī)信息。源代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#include<process.h>#include<conio.h>#define N 30#define M 3typedef struct studentchar number10;char name20;float scoreM;float aver;float total;STU;STU stuN;int n;void input

6、score(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 modify(void);void delscore(void);void menu(void);void main()short int flag=0;menu();doflag=1;switch(getch()case '1&

7、#39; : inputscore();break; /*輸入成績(jī)*/case '2' : lookscore();break;/*查看成績(jī)*/case '3' : searchscore();break;/*查找成績(jī)*/case '4' : statistic();break;/*成績(jī)統(tǒng)計(jì)*/case '5' : modify();break;/*修改成績(jī)*/case '6' : add();break;/*添加成績(jī)*/case '7' : delscore();break;/*刪除成績(jī)*/cas

8、e '8' : savescore();break;/*保存成績(jī)*/case '9' :exit(0);/*退出程序*/default : printf("輸入有誤n");printf("按任意鍵繼續(xù)n");getch();menu();while (flag=1);void menu(void)system("cls");printf("n");printf("*歡迎進(jìn)入學(xué)生成績(jī)管理系統(tǒng)*n");printf(" 菜單 n");printf(

9、"輸入成績(jī)-1n");printf("查看成績(jī)及成績(jī)排序-2n");printf("查詢學(xué)生成績(jī)-3n");printf("成績(jī)統(tǒng)計(jì)-4n");printf("修改成績(jī)-5n");printf("添加成績(jī)-6n");printf("刪除成績(jī)-7n");printf("保存成績(jī)-8n");printf("退出系統(tǒng)-9n");printf("*n");printf("請(qǐng)輸入您的選擇n&quo

10、t;);/*輸入各個(gè)同學(xué)的學(xué)生信息(王超)*/void inputscore(void)int i,j;system("cls");printf("請(qǐng)輸入學(xué)生總數(shù):n");scanf("%d",&n);printf("提示:*輸入學(xué)號(hào)時(shí)請(qǐng)輸入由1位大寫(xiě)字母和8位數(shù)字組成的學(xué)號(hào),如P01214000*n");/*因二維表上下需對(duì)正故有此要求*/for(i=0;i<n;i+)printf("請(qǐng)輸入學(xué)生%d的學(xué)號(hào) 姓名:n",i+1);scanf("%s%s",stu

11、i.number,);printf("請(qǐng)輸入學(xué)生成績(jī):n");printf("高數(shù)t物理tC語(yǔ)言n");for(j=0;j<M;j+)scanf("%f",&stui.scorej);printf("成功輸入n");/*計(jì)算各個(gè)同學(xué)的總分(孫友)*/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;/*計(jì)算各個(gè)同學(xué)的平均分*/void ave

12、rgescore(void)int i,j;for(i=0;i<n;i+)stui.aver=0;for(j=0;j<M;j+)stui.aver+=stui.scorej;stui.aver=stui.aver/M;/*查看學(xué)生成績(jī)及根據(jù)平均分對(duì)學(xué)生進(jìn)行排序*/void lookscore(void)int i,j,k;STU t;total();avergescore();system("cls");for(i=0;i<n-1;i+)for(k=i,j=i+1;j<n;j+)if(stuj.aver>stuk.aver)k=j;if(k!=

13、j)t=stuk;stuk=stui;stui=t;printf("名次t學(xué)號(hào)tt姓名t高數(shù)t物理tC語(yǔ)言t總分t平均分n");for(i=0;i<n;i+)printf("%dt%st%st",i+1,stui.number,);for(j=0;j<M;j+)printf("%4.2ft",stui.scorej);printf("%4.2ft",stui.total);printf("%4.2f",stui.aver);printf("n")

14、;/*通過(guò)輸入學(xué)號(hào)查找學(xué)生成績(jī)*/void searchscore(void)char a10;int i,j;system("cls");printf("請(qǐng)輸入需查詢的學(xué)生學(xué)號(hào)n");scanf("%s",a);for(i=0;i<n;i+)if(strcmp(a,stui.number)=0)printf("名次t學(xué)號(hào)tt姓名t高數(shù)t物理tC語(yǔ)言t總分t平均分n");printf("%dt%st%st",i+1,stui.number,);for(j=0;j<M

15、;j+)printf("%4.2ft",stui.scorej);printf("%4.2ft",stui.total);printf("%4.2f",stui.aver);printf("n");break;/*找到該學(xué)生成績(jī)信息后跳出for循環(huán)*/elseprintf("未找到該學(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;system("c

16、ls");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+;printf("該班級(jí)及格率為%4.2f%n",count/n*100);/*及格率計(jì)算*/count=0.0;for(i=0;i<n;i+)if(p+i)->aver>=90)count+;printf("該班級(jí)優(yōu)秀率為%4.2f%n",count

17、/n*100);/*優(yōu)秀率計(jì)算*/printf("平均分低于60的學(xué)生名單n");for(i=0;i<n;i+)if(stui.aver<60)printf("%sn",);/*統(tǒng)計(jì)不及格學(xué)生名單*/*修改學(xué)生成績(jī)*/void modify(void)char a10;int i,j;system("cls");printf("請(qǐng)輸入需要修改成績(jī)的學(xué)生學(xué)號(hào)n");scanf("%s",a);for(i=0;i<n;i+)if(strcmp(a,stui.num

18、ber)=0)printf("名次t學(xué)號(hào)tt姓名t高數(shù)t物理tC語(yǔ)言t總分t平均分n");printf("%dt%st%st",i+1,stui.number,);for(j=0;j<M;j+)printf("%4.2ft",stui.scorej);printf("%4.2f",stui.total);printf("%4.2f",stui.aver);printf("n");printf("請(qǐng)重新輸入該學(xué)生的學(xué)號(hào) 姓名:n");

19、scanf("%s%s",stui.number,);printf("請(qǐng)重新輸入學(xué)生成績(jī):n");printf("高數(shù)t物理tC語(yǔ)言n");for(j=0;j<M;j+)scanf("%f",&stui.scorej);/*找到該學(xué)生成績(jī)后進(jìn)行修改,跳出for循環(huán)*/printf("修改成功n");break;elseprintf("請(qǐng)確認(rèn)該學(xué)生是否為本班學(xué)生!n");/*添加學(xué)生成績(jī)*/void add(void)int a,i,j;syst

20、em("cls");printf("請(qǐng)輸入新增加的學(xué)生人數(shù):n");scanf("%d",&a);n=n+a;for(i=n-a;i<n;i+)printf("請(qǐng)輸入學(xué)生%d的學(xué)號(hào) 姓名:n",i+1);scanf("%s%s",stui.number,);printf("請(qǐng)輸入學(xué)生成績(jī):n");printf("高數(shù)t物理tC語(yǔ)言n");for(j=0;j<M;j+)scanf("%f",&

21、stui.scorej);printf("添加成功n");/*刪除學(xué)生成績(jī)*/void delscore(void)int i,j,c;char m,a10;system("cls");printf("請(qǐng)輸入學(xué)生學(xué)號(hào)n");scanf("%s",a);for(i=0;i<n;i+)if(strcmp(a,stui.number)=0)printf("名次t學(xué)號(hào)tt姓名t高數(shù)t物理tC語(yǔ)言t總分t平均分n");printf("%dt%st%st",i+1,stui.number,);for(j=0;j<M;j+)printf("%4.2ft",stui.scorej);printf("%4.2ft",stui.total);printf("%4.2f",stui.aver

溫馨提示

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