c語言學生成績管理系統(tǒng)(含源代碼)_第1頁
c語言學生成績管理系統(tǒng)(含源代碼)_第2頁
c語言學生成績管理系統(tǒng)(含源代碼)_第3頁
c語言學生成績管理系統(tǒng)(含源代碼)_第4頁
c語言學生成績管理系統(tǒng)(含源代碼)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、C 語言程序設計作業(yè)一 設計項目:學生成績管理系統(tǒng)二 總體設計:1 程序設計組成框圖:學生成績管理系統(tǒng)輸入學生成績查看學生成績及成績排序通過學號查詢學生成績統(tǒng)計成績信息通過學號修改學生成績添加學生成績通過學號刪除學生成績保存學生成績退出程序2:模塊功能說明:1 輸入功能:輸入學生姓名學號及成績。2 查看功能:輸出姓名學號及各科成績。3 查詢功能:通過學號查詢學生姓名及各科成績。 4 統(tǒng)計功能:統(tǒng)計班級學生及格率,優(yōu)秀率,各個學生成績方差等。5 修改功能:通過輸入學號修改指定學生的錯誤信息。6添加功能:添加學生信息。7刪除功能:通過輸入學號輸入指定學生信息。8保存功能:將學生信息保存。9 退出系

2、統(tǒng)。 3:主要函數(shù)之間的調(diào)用關系及各自功能:主要函數(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);i. 在菜單界面輸入1,調(diào)用函數(shù)inputscore( )實現(xiàn)輸入學生成績信息功能。ii.

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

4、ii. 在菜單界面輸入8,調(diào)用savescore()函數(shù)將學生成績信息保存。ix. 在菜單界面輸入9,退出成績管理系統(tǒng)。開始輸入指令19輸入成績查詢成績成績統(tǒng)計修改成績添加成績刪除成績保存成績顯示成績123456789退出三 程序運行效果截圖1 主菜單2 輸入成績3 查看成績4 查詢成績5統(tǒng)計成績6修改成績7 添加成績8 刪除成績9保存成績四 個人總結(jié)整個程序主要運用了課本上的基礎知識,并未有太大創(chuàng)新,通過for循環(huán),循環(huán)輸入學生成績。在學生成績排序中運用選擇法,同時實現(xiàn)學生名次的確定。在刪除指定學生成績時,先確定信息存儲位置即其在結(jié)構(gòu)體數(shù)組中的序號,通過結(jié)構(gòu)體變量的整體賦值將從指定位置以后的

5、學生信息賦給前一個結(jié)構(gòu)體變量,并將學生總數(shù)n減1,實現(xiàn)刪除學生成績信息。源代碼#include#include#include#include#include#define N 30#define M 3typedef struct studentchar 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 modifys

6、core(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 : inputscore();break; /*輸入成績*/case 2 : lookscore();break;/*查看成績*/case 3 : searchscore();br

7、eak;/*查找成績*/case 4 : statistic();break;/*成績統(tǒng)計*/case 5 : modify();break;/*修改成績*/case 6 : add();break;/*添加成績*/case 7 : delscore();break;/*刪除成績*/case 8 : savescore();break;/*保存成績*/case 9 :exit(0);/*退出程序*/default : printf(輸入有誤n);printf(按任意鍵繼續(xù)n);getch();menu();while (flag=1);void menu(void)system(cls);pr

8、intf(n);printf(*歡迎進入學生成績管理系統(tǒng)*n);printf( 菜單 n);printf(輸入成績-1n);printf(查看成績及成績排序-2n);printf(查詢學生成績-3n);printf(成績統(tǒng)計-4n);printf(修改成績-5n);printf(添加成績-6n);printf(刪除成績-7n);printf(保存成績-8n);printf(退出系統(tǒng)-9n);printf(*n);printf(請輸入您的選擇n);/*輸入各個同學的學生信息(王超)*/void inputscore(void)int i,j;system(cls);printf(請輸入學生總數(shù):

9、n);scanf(%d,&n);printf(提示:*輸入學號時請輸入由1位大寫字母和8位數(shù)字組成的學號,如P01214000*n);/*因二維表上下需對正故有此要求*/for(i=0;in;i+)printf(請輸入學生%d的學號 姓名:n,i+1);scanf(%s%s,stui.number,);printf(請輸入學生成績:n);printf(高數(shù)t物理tC語言n);for(j=0;jM;j+)scanf(%f,&stui.scorej);printf(成功輸入n);/*計算各個同學的總分(孫友)*/void total(void)int i,j;for(i=0;in

10、;i+)stui.total=0;for(j=0;jM;j+)stui.total+=stui.scorej;/*計算各個同學的平均分*/void avergescore(void)int i,j;for(i=0;in;i+)stui.aver=0;for(j=0;jM;j+)stui.aver+=stui.scorej;stui.aver=stui.aver/M;/*查看學生成績及根據(jù)平均分對學生進行排序*/void lookscore(void)int i,j,k;STU t;total();avergescore();system(cls);for(i=0;in-1;i+)for(k=i

11、,j=i+1;jstuk.aver)k=j;if(k!=j)t=stuk;stuk=stui;stui=t;printf(名次t學號tt姓名t高數(shù)t物理tC語言t總分t平均分n);for(i=0;in;i+)printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);printf(%4.2f,stui.aver);printf(n);/*通過輸入學號查找學生成績*/void searchscore(void)char a10;int

12、i,j;system(cls);printf(請輸入需查詢的學生學號n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(名次t學號tt姓名t高數(shù)t物理tC語言t總分t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);printf(%4.2f,stui.aver);printf(n);break;/*找到該學生成績信息后跳出for循環(huán)*/el

13、seprintf(未找到該學生信息n);/*統(tǒng)計學生成績信息,平均分及格率,優(yōu)秀率*/void statistic(void)STU *p=stu;int i,j;float count=0.0,sum=0.0;system(cls);for(i=0;iaver;printf(該班級平均分為%4.2fn,sum/n);/*平均分計算*/for(i=0;iaver=60)count+;printf(該班級及格率為%4.2f%n,count/n*100);/*及格率計算*/count=0.0;for(i=0;iaver=90)count+;printf(該班級優(yōu)秀率為%4.2f%n,count/n

14、*100);/*優(yōu)秀率計算*/printf(平均分低于60的學生名單n);for(i=0;in;i+)if(stui.aver60)printf(%sn,);/*統(tǒng)計不及格學生名單*/*修改學生成績*/void modify(void)char a10;int i,j;system(cls);printf(請輸入需要修改成績的學生學號n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(名次t學號tt姓名t高數(shù)t物理tC語言t總分t平均分n);printf(%dt%st%st,i+1,stui.numbe

15、r,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2f,stui.total);printf(%4.2f,stui.aver);printf(n);printf(請重新輸入該學生的學號 姓名:n);scanf(%s%s,stui.number,);printf(請重新輸入學生成績:n);printf(高數(shù)t物理tC語言n);for(j=0;jM;j+)scanf(%f,&stui.scorej);/*找到該學生成績后進行修改,跳出for循環(huán)*/printf(修改成功n);break;elseprin

16、tf(請確認該學生是否為本班學生!n);/*添加學生成績*/void add(void)int a,i,j;system(cls);printf(請輸入新增加的學生人數(shù):n);scanf(%d,&a);n=n+a;for(i=n-a;in;i+)printf(請輸入學生%d的學號 姓名:n,i+1);scanf(%s%s,stui.number,);printf(請輸入學生成績:n);printf(高數(shù)t物理tC語言n);for(j=0;jM;j+)scanf(%f,&stui.scorej);printf(添加成功n);/*刪除學生成績*/void delscore(voi

17、d)int i,j,c;char m,a10;system(cls);printf(請輸入學生學號n);scanf(%s,a);for(i=0;in;i+)if(strcmp(a,stui.number)=0)printf(名次t學號tt姓名t高數(shù)t物理tC語言t總分t平均分n);printf(%dt%st%st,i+1,stui.number,);for(j=0;jM;j+)printf(%4.2ft,stui.scorej);printf(%4.2ft,stui.total);printf(%4.2f,stui.aver);printf(n);c=i;break;elseprintf(未找到該學生信息n);printf(是否刪除該學生成績(y/n)n);scanf(%s,&m);if(m=y)for(i=c;in-1;i+)stui=stui+1;/*結(jié)構(gòu)體整體賦值將后一位學生成績信息拷貝進入前一位學生信息的存儲位置*/n=n-1;/*刪除該學生信息后學生總數(shù)減一*/printf(刪除成績成功n);elseprintf(刪除成績失敗n);/*保存學生成績*/void

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論