版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年廣東省公務(wù)員錄用考試《行測(cè)》真題(鄉(xiāng)鎮(zhèn))及答案解析
- 四年級(jí)下冊(cè)班主任工作總結(jié)與教學(xué)創(chuàng)新
- ALC隔墻板施工成本控制方案
- 企業(yè)年會(huì)民族傳統(tǒng)文化展示方案
- 農(nóng)業(yè)企業(yè)經(jīng)營(yíng)合規(guī)工作制度
- 初中班主任工作總結(jié):課堂管理技巧
- 學(xué)校建筑幕墻施工方案
- 吉林大學(xué)《牙體牙髓病學(xué)A》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024制作廣告合同書(shū)
- 2024教師勞務(wù)合同格式
- 綠電制綠氫及其綜合利用技術(shù)PPT
- 司法所安置幫教工作流程圖
- 貧困戶困難補(bǔ)助申請(qǐng)書(shū)
- 橋梁養(yǎng)護(hù)與加固緒論課件
- 部隊(duì)?wèi)?zhàn)時(shí)政治工作-PPT課件
- 平板顯示技術(shù):TFT-LCD工藝
- 動(dòng)火安全作業(yè)票填寫(xiě)模板2022年更新
- 外研版九年級(jí)英語(yǔ)上冊(cè)全套ppt課件
- 溝槽開(kāi)挖支護(hù)專項(xiàng)施工方案(46頁(yè))
- Matlab基本介紹
- 橫道圖施工進(jìn)度計(jì)劃
評(píng)論
0/150
提交評(píng)論