成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告_第1頁
成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告_第2頁
成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告_第3頁
成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告_第4頁
成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、word可編輯成都工業(yè)學(xué)院學(xué)生成績標(biāo)準(zhǔn)管理系統(tǒng)專周報(bào)告.word可編輯成都工業(yè)學(xué)院課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語言課程設(shè)計(jì) 課題名稱 成績管理系統(tǒng) 專 業(yè) 軟件工程2班 班 級(jí) 1506032班 學(xué) 號(hào) 姓 名 陳 光 超 指導(dǎo)教師 楊 明 廣 2022年2月26日一 題目要求 1. 問題描述:,姓名,年齡,數(shù)學(xué),英語,物理成績,默認(rèn)以學(xué)號(hào)為序存放.2. 要求:(1)一個(gè)文件按以班為單位存儲(chǔ)學(xué)生記錄.(2)將允許的操作分為8種, 1, 錄入學(xué)生成績 2, 查看學(xué)生成績3, 修改學(xué)生成績4, 刪除學(xué)生成績 5, 學(xué)生成績排序 6, 寫入五個(gè)默認(rèn)成績 7, 查看本程序開發(fā)說明0, 退出管理系

2、統(tǒng)3. 計(jì)算學(xué)生的總成績.4. 按學(xué)號(hào),各科成績,總分排序輸出學(xué)生成績表.二 設(shè)計(jì)目的根據(jù)題目要求,由于學(xué)生信息是存放在文件中,所以應(yīng)提供文件的輸入,輸出等操作;在程序中需要瀏覽學(xué)生的信息,應(yīng)提供顯示,查找,排序等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇.三 總體設(shè)計(jì)根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)分為以下模塊:輸入模塊,修改模塊,刪除模塊,查找模塊,顯示模塊.4 程序總結(jié)滿足專周程序設(shè)計(jì)要求,程序抗干擾性強(qiáng)。程序版本1-20添加功能,以及相應(yīng)模塊。程序版本21-29修復(fù)BUG,以及界面UI調(diào)節(jié)。五詳細(xì)設(shè)計(jì)1. 主函數(shù)以及其它界面UI函數(shù):主函數(shù)一般設(shè)計(jì)得比擬簡(jiǎn)單,只提供輸入,處理和輸出

3、局部的函數(shù)調(diào)用,。流程圖:顯示一系列功能模塊 N輸入n,判斷n是否是0-7 Y根據(jù)n的值調(diào)用各功能模塊函數(shù)2. 錄入功能int entry();單獨(dú)輸入各項(xiàng)信息,有益于提示用戶操作情況。將輸入的信息存儲(chǔ)在全局變量中,有益于對(duì)數(shù)據(jù)進(jìn)行操作。3. 查詢模塊int check(int);傳入查詢參數(shù),根據(jù)參數(shù)返回學(xué)生序號(hào)4. 刪除模塊int del(int);先調(diào)用查詢模塊返回學(xué)生序號(hào),根據(jù)序號(hào)刪除學(xué)生,并返回刪除執(zhí)行情況5. 修改模塊(集成于void change_ui();)先調(diào)用查詢模塊返回學(xué)生序號(hào),再根據(jù)序號(hào)執(zhí)行刪除功能,最后執(zhí)行錄入功能6. 排序功能void sort(float *,in

4、t,int);對(duì)某一科逐個(gè)排序,同時(shí)對(duì)學(xué)生信息排序,排序完成,重新寫入文件。7. 輸出功能int pscore(int);傳入學(xué)生序號(hào),根據(jù)序號(hào)輸出學(xué)生信息。6 程序原代碼注釋:源代碼下載地址/*/*成績管理系統(tǒng),軟件版本 29 */* 班上學(xué)號(hào) */* 此版本修復(fù)各種BUG */*/#include#include#includeint pscore(int);/成績輸出功能void menu();/主界面菜單void entry_ui();/錄入界面int entry();/錄入功能void check_ui();/查看界面int check(int);/查看功能void change_u

5、i();/修改成績界面void del_ui();/刪除界面int del(int);/刪除功能void sort_ui();/排序界面void sort(float *,int,int);/排序功能(僅數(shù)據(jù))void defs();/寫入程序自帶成績,五個(gè)成績void dscreen();/清屏函數(shù),清空緩存區(qū),再輸出當(dāng)前學(xué)生數(shù)int dask();/是否執(zhí)行操作判斷void about();/關(guān)于本程序struct studentchar name20;int id;float chinese;float math; float english;float sum;float averag

6、e;P101;float sa101;/臨時(shí)儲(chǔ)存浮點(diǎn)型數(shù)據(jù)(排序使用)void main()while(1)menu();void menu()/菜單界面dscreen();printf(*n);printf(* 學(xué)生成績管理系統(tǒng) *n);printf(* 1,錄入學(xué)生成績 *n);printf(* 2,查看學(xué)生成績 *n);printf(* 3,修改學(xué)生成績 *n);printf(* 4,刪除學(xué)生成績 *n);printf(* 5,學(xué)生成績排序 *n);printf(* 6,寫入五個(gè)默認(rèn)成績 *n); printf(*7,查看本程序開發(fā)說明*n);printf(* 0,退出管理系統(tǒng) *n);

7、printf(*n);int n;scanf(%d,&n);fflush(stdin);switch(n)case 0:exit(0);break;case 1:entry_ui();break;case 2:check_ui();break;case 3:change_ui();break;case 4:del_ui();break;case 5:sort_ui();break; case 6:defs();break;case 7:about();break;default:printf(提示(主界面):輸入錯(cuò)誤,按任意鍵繼續(xù)。n);fflush(stdin);getchar();void

8、 entry_ui()/成績錄入界面while(1) FILE *fp;fp=fopen(,a+);dscreen();printf(當(dāng)前功能:錄入學(xué)生成績*n);printf(請(qǐng)輸入 姓名 學(xué)號(hào) 語文 數(shù)學(xué) 英語n);if(!entry()break;fwrite(&P0,sizeof(P0),1,fp);fclose(fp);printf(成績錄入成功!);printf(按任意鍵繼續(xù)。n);fflush(stdin);getchar();void check_ui()/查看成績界面while(1)int acheck=-1;/賦初值,防止循環(huán)時(shí),讀取上一個(gè)值dscreen();printf

9、(當(dāng)前功能:學(xué)生成績查詢*n);printf(1,按照姓名查詢n);printf(2,按照學(xué)號(hào)查詢n);printf(3,語文不及格查詢n);printf(4,數(shù)學(xué)不及格查詢n);printf(5,英語不及格查詢n);printf(6,全部學(xué)生成績查詢n);printf(0,返回管理系統(tǒng)n);printf(提示(查詢):請(qǐng)輸入選擇項(xiàng):);scanf(%d,&acheck);fflush(stdin);if(acheck=0)/返回管理系統(tǒng)break;if(acheck6)printf(輸入錯(cuò)誤!);elseswitch(acheck)case 1:if(!pscore(check(1) pri

10、ntf(沒有這個(gè)姓名!); elseprintf(查詢成功!);break;case 2:if(!pscore(check(2) printf(沒有這個(gè)學(xué)號(hào)!); elseprintf(查詢成功!);break;case 3:check(3);printf(查詢成功!);break;case 4:check(4);printf(查詢成功!);break;case 5:check(5);printf(查詢成功!);break;case 6:check(6);printf(查詢成功!);break;printf(按任意鍵繼續(xù)。n);fflush(stdin);getchar();void chan

11、ge_ui()/修改成績界面while(1)int achange=-1,bchange=-1;FILE *fpch;fpch=fopen(,a+);dscreen();printf(當(dāng)前功能:學(xué)生成績修改*n);printf(1,輸入學(xué)生序號(hào)修改n);printf(2,輸入學(xué)生姓名修改n);printf(3,輸入學(xué)生學(xué)號(hào)修改n); printf(0,返回管理系統(tǒng)n);printf(提示(修改):請(qǐng)輸入選擇項(xiàng):);scanf(%d,&bchange);fflush(stdin);if(bchange=0)break;if(bchange3)printf(輸入錯(cuò)誤!);else/根據(jù)check(

12、)函數(shù)返回學(xué)生序號(hào),賦值給bchangif(bchange=1)check(6);printf(請(qǐng)輸入學(xué)生序號(hào):);fflush(stdin);scanf(%d,&achange);fflush(stdin);if(0=achange|achangepscore(-3)achange=0;printf(沒有這個(gè)序號(hào)!);if(bchange=2)if(!(achange=check(1)printf(沒有這個(gè)姓名!);if(bchange=3)if(!(achange=check(2)printf(沒有這個(gè)學(xué)號(hào)!);if(achange)printf(正在執(zhí)行修改操作!n);if(!entry

13、()break;if(dask()/刪除check()函數(shù)返回的學(xué)生序號(hào)bchange,并重新寫入成績del(achange);fwrite(&P0,sizeof(P0),1,fpch);/重新寫入成績printf(成績修改成功!);printf(按任意鍵繼續(xù)。n);fclose(fpch);fflush(stdin);getchar();void del_ui()/刪除界面while(1)int a=5,bdel=-1;FILE *fp;fp=fopen(,a+);dscreen();printf(當(dāng)前功能:學(xué)生成績刪除*n);printf(1,刪除全部學(xué)生成績n);printf(2,輸入學(xué)

14、生序號(hào)刪除n);printf(3,輸入學(xué)生姓名刪除n);printf(4,輸入學(xué)生學(xué)號(hào)刪除n);printf(0,返回管理系統(tǒng)n);printf(提示(刪除):請(qǐng)輸入選擇項(xiàng):);scanf(%d,&a);fflush(stdin);if(a=0)break;if(a4)printf(輸入錯(cuò)誤!);if(a=0&a0;i-)/pscore(-3)數(shù)據(jù)有變動(dòng),從后向前刪除,del(i);printf(成績刪除成功!);elseif(a=2)/根據(jù)序號(hào)刪除check(6);printf(請(qǐng)輸入學(xué)生序號(hào):);fflush(stdin);scanf(%d,&bdel);fflush(stdin);if(

15、!(0bdel&bdelpscore(-3)bdel=0;printf(沒有這個(gè)序號(hào)!);if(a=3)/根據(jù)姓名刪除if(!(bdel=check(1)printf(沒有這個(gè)姓名!);if(a=4)/根據(jù)學(xué)號(hào)刪除if(!(bdel=check(2)printf(沒有這個(gè)學(xué)號(hào)!);if(bdel)if(dask()/刪除check()函數(shù)返回的學(xué)生序號(hào)bdel,并且bdel不能為O。del(bdel);printf(成績刪除成功!);elseprintf(操作取消,);printf(按任意鍵繼續(xù)。n);fclose(fp);fflush(stdin);getchar();void sort_u

16、i()/排序界面while(1)student ssort100;int asort=-1,i=1,j=pscore(-3);FILE *fp;fp=fopen(,r);while(!feof(fp)fread(&ssorti,sizeof(P0),1,fp);i+;fclose(fp);dscreen();printf(當(dāng)前功能:學(xué)生成績排序n);printf(1,學(xué)號(hào)排序n);printf(2,語文成績排序n);printf(3,數(shù)學(xué)成績排序n);printf(4,英語成績排序n);printf(5,總成績排序n);printf(0,返回管理系統(tǒng)n);printf(提示(排序):請(qǐng)輸入選擇

17、項(xiàng):);scanf(%d,&asort);fflush(stdin);if(asort=0)/返回管理系統(tǒng)break;if(asort5)printf(輸入錯(cuò)誤!);elsepscore(-1);if(asort=1)/學(xué)號(hào)成績排序for(i=1;i=j;i+)sai=(float)(ssorti.id);sort(sa,j,0);if(asort=2)/語文成績排序for(i=1;i=j;i+)sai=ssorti.chinese;sort(sa,j,1);if(asort=3)/數(shù)學(xué)成績排序for(i=1;i=j;i+)sai=ssorti.math;sort(sa,j,1);if(aso

18、rt=4)/英語成績排序for(i=1;i=j;i+)sai=ssorti.english;sort(sa,j,1);if(asort=5)/總成績排序for(i=1;i=j;i+)sai=ssorti.sum;sort(sa,j,1);fp=fopen(,w);fp=fopen(,a+);for(i=1;i=j;i+)/重新寫入排序后的成績fwrite(&Pi,sizeof(P0),1,fp);fclose(fp);pscore(-2);/輸出所有成績printf(排序成功!);printf(按任意鍵繼續(xù)。n);fclose(fp);fflush(stdin);getchar();int c

19、heck(int a)/成績查詢功能student Pcheck100;int i=1;FILE *fp;fp=fopen(,r);while(!feof(fp)fread(&Pchecki,sizeof(P0),1,fp);i+;if(a=1)/按照姓名查詢char an20;printf(請(qǐng)輸入姓名:);fflush(stdin);scanf(%s,an);for(i=1;i=pscore(-3);i+)if(strcmp(an,P)=0)return i;if(a=2)/按照學(xué)號(hào)查詢int a=0;printf(請(qǐng)輸入學(xué)號(hào):);scanf(%d,&a);fflush

20、(stdin);for(i=1;i=pscore(-3);i+)if(a=Pchecki.id)return i;if(a=3)/語文不及格學(xué)生printf(語文不及格學(xué)生信息n);pscore(-1);for(i=1;i=pscore(-3);i+)if(Pchecki.chinese60)pscore(i);if(a=4)/數(shù)學(xué)不及格學(xué)生printf(數(shù)學(xué)不及格學(xué)生信息n);pscore(-1);for(i=1;i=pscore(-3);i+)if(Pchecki.math60)pscore(i);if(a=5)/英語不及格學(xué)生printf(數(shù)學(xué)不及格學(xué)生信息n);pscore(-1);f

21、or(i=1;i=pscore(-3);i+)if(Pchecki.english60)pscore(i);if(a=6)/全部學(xué)生成績printf( n);pscore(-1);pscore(-2);fclose(fp);return 0;int entry()/成績錄入功能while(1)printf(正在輸入學(xué)生成績.輸入eof取消操作。n);printf(請(qǐng)輸入 姓名:);scanf(%s,P0.name);fflush(stdin);if(!strcmp(P0.name,eof)/判斷是否退出輸入break;printf(請(qǐng)輸入 學(xué)號(hào):);scanf(%d,&P0.id);fflus

22、h(stdin);printf(請(qǐng)輸入 語文:);scanf(%f,&P0.chinese);fflush(stdin);printf(請(qǐng)輸入 數(shù)學(xué):);scanf(%f,&P0.math);fflush(stdin);printf(請(qǐng)輸入 英語:);scanf(%f,&P0.english);fflush(stdin);P0.sum=P0.chinese+P0.math+P0.english;P0.average=P0.sum/3;return 1;/成績錄入完成return 0;/取消成績輸入int pscore(int n)/成績輸出功能FILE *fpp;fpp=fopen(,a+);

23、/以前版本出現(xiàn)文件讀取錯(cuò)誤(翻開方式為r)。if(n0)/指定輸出某人成績printf(|%-6d| |%-6s| |%-6d| |%| |%| |%| |%| |%|n,n,P,Pn.id,Pn.chinese,Pn.math,Pn.english,Pn.sum,Pn.average);return 1;if(n=-1)/輸出界面printf(|序 號(hào)| |姓 名| |學(xué) 號(hào)| |語 文| |數(shù) 學(xué)| |英 語| |總成績| |平均分|n);if(n=-2)/輸出所有成績for(int i=1;i0&n=pscore(-3)/25版本未寫等號(hào)while(!feof(fp)if(!

24、feof(fp)if(kn)if(!feof(fp)fread(&Pk-1,sizeof(P0),1,fp);k+;fclose(fp);fp=fopen(,w);fp=fopen(,a+);while(ik-2)fwrite(&Pi,sizeof(P0),1,fp);i+;fclose(fp);return 1;return 0;void defs()/寫入程序自帶成績,五個(gè)成績(版本25的代碼) FILE *fp;fp=fopen(,a+);student defsocre6;strcpy(,陳光超);defsocre1.id=1001;defsocre1.ch

25、inese=;defsocre1.math=;defsocre1.english=;strcpy(,良辰);defsocre2.id=6002;defsocre2.chinese=;defsocre2.math=;defsocre2.english=;strcpy(,楊陽);defsocre3.id=1302;defsocre3.chinese=;defsocre3.math=;defsocre3.english=;strcpy(,楊小梅);defsocre4.id=1009;defsocre4.chinese=;defsocre4.math=;defsocre4.english=;strcpy(,張華);defsocre5.id=2209;defsocre5.chinese=;defsocre5.math=;defsocre5.english=;for(int i=1;i=5;i+)defsocrei.sum=defsocrei.chinese+defsocrei.math+defsocrei.english;d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論