版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 沈陽航空航天大學(xué)課 程 設(shè) 計(jì) 報(bào) 告大作業(yè)名稱:C 語言課程設(shè)計(jì)大作業(yè)題目:學(xué)生成績管理系統(tǒng)設(shè)計(jì)院(系):計(jì)算機(jī)學(xué)院專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班 級:學(xué) 號:姓 名:指導(dǎo)教師:完成日期:2016年12月24日精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)目目 錄錄 2精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)第 1 章 概要設(shè)計(jì)1.1 題目的內(nèi)容與要求題目的內(nèi)容與要求內(nèi)容: 學(xué)生成績信息包括:姓名、學(xué)號、語文、數(shù)學(xué)、英語。 實(shí)現(xiàn)的主要功能有: 1)信息維護(hù)。包括學(xué)生成績的輸入、按學(xué)號刪除、按學(xué)號修改等。 2) 信息查詢。輸入學(xué)號或姓名,顯示出該生三個科目
2、的成績,計(jì)算出三科總分 并顯示,按總分將所有學(xué)生成績排序,顯示出該生的名次。 3)成績統(tǒng)計(jì)。先輸入任意一個科目,接著選擇 a 或 b 來分別顯示平均分或統(tǒng)計(jì) 分?jǐn)?shù)段學(xué)生,若選擇 a,則直接顯示出該科目的平均分;若選擇 b,則提示 用戶輸入一個分?jǐn)?shù)段,顯示所有該科目屬于該分?jǐn)?shù)段內(nèi)的學(xué)生信息,并給出 學(xué)生總數(shù)。要求: 1)系統(tǒng)以菜單方式工作。在不同的界面為用戶給出具體提示。 2)系統(tǒng)利用 C 語言實(shí)現(xiàn),源程序要有適當(dāng)?shù)淖⑨尅?3)采用 VC 環(huán)境進(jìn)行運(yùn)行調(diào)試。1.2 總體結(jié)構(gòu)總體結(jié)構(gòu)本程序主要分為七個模塊(功能模塊圖見圖功能模塊圖見圖 1.1):結(jié)構(gòu)體模塊,輸入模塊,顯示模塊,修改模塊,刪除模塊,
3、查詢模塊,統(tǒng)計(jì)模塊。結(jié)構(gòu)體模塊:建立一個結(jié)構(gòu)體模塊,為鏈表存信息用。輸入模塊:鍵盤輸入每個學(xué)生的信息,并保存在文件中。顯示模塊:顯示全部學(xué)生的具體信息。修改模塊:修改某個學(xué)生的成績信息。刪除模塊:刪除某個學(xué)生的全部信息。查詢模塊:查詢某個學(xué)生的具體信息。統(tǒng)計(jì)模塊:通過功能選擇,統(tǒng)計(jì)并顯示某一科目精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)的平均分或某分?jǐn)?shù)段學(xué)生的具體信息。 圖圖 1.1 功能模塊圖功能模塊圖第 2 章 詳細(xì)設(shè)計(jì)2.1 主模塊主模塊控制整個程序的運(yùn)行,控制菜單操作,通過主函數(shù)模塊分別調(diào)用各個模塊,實(shí)現(xiàn)各項(xiàng)功能,流程如圖 2.1 所示。 Y N N Y 學(xué)生成績管理系統(tǒng)顯示模塊修改模
4、塊刪除模塊輸入模塊查詢模塊統(tǒng)計(jì)模塊主模塊 開始 顯示主菜單選 0 退出 執(zhí)行具體功能 顯示結(jié)果 結(jié)束選 1-6精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 圖圖 2.1 主模塊流程圖主模塊流程圖注釋:1. 顯示主菜單;2. 選擇不同序號執(zhí)行不同功能;2.2 輸入模塊輸入模塊輸入所有學(xué)生信息并保存,流程如圖 2.2 所示。圖圖 2.2 輸入模塊流程圖輸入模塊流程圖注釋:1. 循環(huán)輸入每個學(xué)生的信息;2.保存所有信息2.3 顯示模塊顯示模塊 顯示所有學(xué)生的具體信息,流程圖如 2.3 所示。 input()printf(輸入學(xué)號:);printf(輸入姓名:);printf(第%d 門成績的分?jǐn)?shù):,j
5、+1); 結(jié)束計(jì)算總分、平均分 printf(nn 信息保存成功!恭喜!nn);Print() 顯示信息精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 圖圖 2.3 顯示模塊流程圖顯示模塊流程圖 注釋:1. 選擇號好功能;2. 顯示全部學(xué)生的具體信息。2.4 修改模塊修改模塊修改某個學(xué)生各個科目的成績,流程圖如 2.4 所示。 Y N 圖圖 2.4 修改模塊流程圖修改模塊流程圖注釋:1. 輸入要修改學(xué)生的學(xué)號;2. 輸入要修改的科目信息;3. 修改成功,是否要繼續(xù)修改。是,繼續(xù);否,回到主菜單。2.5 刪除模塊刪除模塊 結(jié)束xiugai()printf(n 請輸入要修改的同學(xué)的學(xué)號:);print
6、f(n 請輸入要修改學(xué)生修改后的的信息n);是否繼續(xù)修改?結(jié)束printf(n 修改成功!恭喜!n);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) 按學(xué)號刪除某學(xué)生的全部信息,流程圖如圖 2.5 所示。精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) Y NN 圖圖 2.5 刪除模塊流程圖刪除模塊流程圖注釋:1. 輸入要刪除的學(xué)生的學(xué)號;2. 顯示該生信息,是否刪除。是,刪除;否,是否繼續(xù)操作。3. 是否繼續(xù)刪除。是,重復(fù)上述操作;否,退出回到主菜單。2.6 查詢模塊查詢模塊 輸入要查詢學(xué)生的學(xué)號,顯示該生具體信息,流程圖如圖 2.6 所示。Yshanchu()printf(n 請輸入要刪除的同學(xué)的學(xué)
7、號:); printf(n 該同學(xué)信息如下:n);是否刪除?printf(n 刪除成功!恭喜!n);是否繼續(xù)刪除?結(jié)束Ychaxun()printf(n 請輸入學(xué)生學(xué)號:);顯示該生具體信息是否繼續(xù)查詢?結(jié)束精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) N 圖圖 2.6 查詢模塊流程圖查詢模塊流程圖注釋:1. 輸入要查詢的學(xué)生的學(xué)號;2. 顯示該生的具體信息;3. 是否繼續(xù)查詢。是,繼續(xù)查詢下一位;否,回到主菜單。2.7 統(tǒng)計(jì)模塊統(tǒng)計(jì)模塊 通過選擇不同功能,顯示某個科目的平均分或某分?jǐn)?shù)段學(xué)生的具體信息,流程圖如圖 2.7 所示。case a:case b:Y N 圖圖 2.7 統(tǒng)計(jì)模塊流程圖統(tǒng)計(jì)
8、模塊流程圖注釋:1. 通過菜單選擇科目;2. 通過菜單選擇 a 或 b 功能,分別顯示該科目平均分或某分?jǐn)?shù)段學(xué)生信息;tongji()printf(n 輸入一個科目:);選擇功能 a 或b計(jì)算該科目平均分 printf(nn 該科目的平均成績?yōu)椋?.2fn,ave);printf(n 請輸入分?jǐn)?shù)段:_ 空格_ n);顯示屬于該分?jǐn)?shù)段的學(xué)生;學(xué)生總數(shù)是否繼續(xù)查詢其他科目? 結(jié)束精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)3. 是否繼續(xù)查詢?是,繼續(xù);否,回到主菜單。第 3 章 調(diào)試分析在這次課程設(shè)計(jì)中,程序編寫的過程中遇到了很多問題,主要是函數(shù)實(shí)現(xiàn)方面問題較多。問題 1:查詢函數(shù) chaxun(
9、)中,會造成數(shù)據(jù)混亂,原因是 for 循環(huán)中某行代碼運(yùn)用錯誤,如下: for(i=0;in;i+) if(stui.num=x) k=i;/*找到要查詢的同學(xué)學(xué)號,并用 k 記下其下標(biāo)*/ OutputOneStudent(k); 將 OutputOneStudent(k);拿出后,查詢功能正常實(shí)現(xiàn)。正確編寫如下: for(i=0;in;i+) if(stui.num=x) k=i;/*找到要查詢的同學(xué)學(xué)號,并用 k 記下其下標(biāo)*/ OutputOneStudent(k); 問題 2:統(tǒng)計(jì)函數(shù) tongji() ,功能實(shí)現(xiàn)完后不能回到主菜單。解決方法是,精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專
10、業(yè)把功能函數(shù) gongneng()其中的 while 循環(huán)刪掉。 第 4 章 使用說明運(yùn)行截圖如下:1.輸入成績2.信息顯示精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)3.修改信息4.刪除信息精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)5.查詢信息6.1 統(tǒng)計(jì)信息-科目平均分6.2 統(tǒng)計(jì)信息-科目某分?jǐn)?shù)段學(xué)生信息精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)7.退出系統(tǒng)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)參考文獻(xiàn)1. 王敬華, C 語言程序設(shè)計(jì)教程(第二版) ,清華大學(xué)出版社,2009 年 8 月2. 譚浩強(qiáng), C 語言程序設(shè)計(jì)教程(第二版) ,清華大學(xué)出版社,1999 年 12 月3. 譚浩強(qiáng)
11、, C 語言程序設(shè)計(jì)題解與上機(jī)指導(dǎo) ,清華大學(xué)出版社,2000 年 11 月4. 田淑清, C 語言程序設(shè)計(jì)輔導(dǎo)與習(xí)題集 ,中國鐵道出版社,2000 年 1 月5. 張榮梅、梁曉林, Visual C+實(shí)用教程 ,冶金工業(yè)出版社,2004 年附 錄(程序清單)程序代碼:#include#include#include#define N 3struct studentint num; /學(xué)號char name20; /姓名float score3; /三門課成績float sum; /總分float aver; /平均分stuN;void menu(); /主菜單功能void input();
12、/輸入信息到結(jié)構(gòu)體中void save(int x); /保存 stud.dat 文件函數(shù)void print(); /輸出顯示所有學(xué)生信息void SaveAllStudent(int n); /保存全部學(xué)生信息void xiugai(int n); /按學(xué)號修改成績int shanchu(int n); /按學(xué)號刪除void OutputOneStudent(int i); /查詢一個學(xué)生的信息精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)void chaxun(int n); /按學(xué)號查詢成績void tongji(); /統(tǒng)計(jì)科目信息void gongneng(int x); /a 或 b
13、 功能分別顯示科目平均分或分?jǐn)?shù)段學(xué)生信息int main() printf(*n); printf(* *n); printf(* Hwadee &學(xué)生成績管理系統(tǒng)& Hwadee *n); printf(* *n); printf(*nnn); printf(*歡迎使用*n);while(1)menu();return 0;/*主菜單*/void menu()int choice; int n=N; printf(n 請選擇功能:n);printf(n1:輸入成績n2:顯示信息n3:修改成績n4:刪除信息n5:查詢成績n6:成績統(tǒng)計(jì)n0:退出系統(tǒng)nn);printf(n 請選
14、擇序號:n);scanf(%d,&choice);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)switch(choice)case 1:input();save(N);break;case 2:print();break;case 3:xiugai(n);break;case 4:shanchu(n);break;case 5:chaxun(n);break;case 6:tongji();break;case 0:printf (n 謝謝使用,再見!nn);exit (-1);break;default:printf(輸入錯誤!n);break;/*寫入函數(shù)*/void input()
15、int i,j;printf(n 輸入信息n);for(i=0;iN;i+)printf(輸入學(xué)號:);scanf(%d,&stui.num);printf(輸入姓名:);scanf(%s,&);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)for(j=0;jN;j+)printf(第%d 門成績的分?jǐn)?shù):,j+1);scanf(%f,&stui.scorej);stui.sum=stui.score0+stui.score1+stui.score2;stui.aver=stui.sum/3;printf(n);/*寫入文件*/void save(int x
16、) FILE *fp;/*定義文件指針用于向文件讀入數(shù)據(jù)*/ int i; if(fp=fopen(student.dat,rb+)=NULL)/*以二進(jìn)制讀,寫方式打開文件*/ printf(cannot open filen); exit(1); for(i=0;iN;i+) if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(file write errorn); fclose(fp); printf(nn 信息保存成功!恭喜!nn);/*顯示全部學(xué)生信息*/void print()int i;printf(學(xué)號 姓名
17、語文 數(shù)學(xué) 英語 總分 平均分n);for(i=0;iN;i+)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)printf(%d %s %.2f %.2f %.2f %.2f %.2fn,stui.num,,stui.score0,stui.score1,stui.score2,stui.sum,stui.aver);/*保存全部學(xué)生信息*8*/void SaveAllStudent(int n) FILE *fp; if(fp=fopen(student.dat,wb)=NULL) printf(文件打開失敗!n); exit(1); fwrite(stu,sizeof(str
18、uct student),n,fp); fclose(fp);/*修改學(xué)生信息*/void xiugai(int n) struct student temp;int k=-1,x,i; char c1=y; while(c1=y) printf(n 請輸入要修改的同學(xué)的學(xué)號:); scanf(%d,&x); for(i=0;in;i+) if(x=stui.num) k=i;/*找到要修改的同學(xué)學(xué)號,并用 k 記下其下標(biāo)*/ break; if(k0)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) printf(n 輸入學(xué)號有誤,請重新輸入!); else printf(n 請輸入要修改
19、學(xué)生修改后的的信息n); printf(語文(空格)數(shù)學(xué)(空格)英語tn); scanf(%f %f %f,&temp.score0,&temp.score1,&temp.score2); temp.sum=(temp.score0+temp.score1+temp.score2); temp.aver=(temp.score0+temp.score1+temp.score2)/3;stuk.score0=temp.score0;/*修改該學(xué)生信息*/ stuk.score1=temp.score1; stuk.score2=temp.score2;stuk.sum=t
20、emp.sum;stuk.aver=temp.aver;printf(n 修改成功!恭喜!n); break; SaveAllStudent(k); printf(n 繼續(xù)修改操作嗎?); printf(n 繼續(xù)修改請按 y;不進(jìn)行修改請按 nn);getchar(); c1=getchar(); printf(n 按任意鍵繼續(xù)!n); getchar();/*刪除學(xué)生信息*/int shanchu(int n) int i,k=-1,x; char c1=y,c2; while(c1=y)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) c2=n; printf(n 請輸入要刪除的同學(xué)的學(xué)號:);
21、 scanf(%d,&x); for(i=0;in;i+) if(x=stui.num) k=i;/*找到要刪除的同學(xué)學(xué)號,并用 k 記下其下標(biāo)*/ break; if(k0) printf(n 輸入學(xué)號有誤,請重新輸入!); else printf(n 該同學(xué)信息如下:n); OutputOneStudent(k); printf(nn 確定刪除?n); printf(確定進(jìn)行刪除請按 y;不進(jìn)行刪除請按 nn);getchar();c2=getchar(); if(c2=y) for(i=k;i3|x1) break; 精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) for(i=0;i
22、n;i+) if(stui.num=x) k=i;/*找到要查詢的同學(xué)學(xué)號,并用 k 記下其下標(biāo)*/ OutputOneStudent(k); stux-1.num=1; /該生排名 for(j=0;jstux-1.sum)stux-1.num+; printf(n 該生排名為第%d 名。n,stux-1.num); printf(nn 繼續(xù)查詢其他學(xué)生信息嗎?); printf(n 繼續(xù)查詢請按 y;不進(jìn)行查詢請按 nn);getchar(); c=getchar(); printf(n 按任意鍵繼續(xù)!n); getchar();/*學(xué)生信息統(tǒng)計(jì)操作*/void tongji()char c
23、=y; while(c=y) int x; printf(n 輸入一個科目:); printf(nn1:語文n2:數(shù)學(xué)n3:英語n0:退出); printf(nn 請選擇序號:); scanf(%d,&x);精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè) if(x0&x6) switch(x) case 1: gongneng(x);break; case 2: gongneng(x);break; case 3:gongneng(x);break; case 0: exit (-1); break; default: printf(輸入錯誤!n); printf(nn 繼續(xù)查詢其他科目信息嗎?); printf(n 繼續(xù)查詢請按 y;不進(jìn)行查詢請按 nn);getchar(); c=getchar();/*選擇 a 或 b 來分別顯示該科平均分或統(tǒng)計(jì)分?jǐn)?shù)段學(xué)生*/void gongneng(int x) printf(nn 請選擇功能:n); printf(na:顯示該科目平均分nb:統(tǒng)計(jì)分?jǐn)?shù)段學(xué)生n); printf(n 請選擇 a 或 b:);char c; scanf(%s,&c);switch(c)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級下冊語文試題-三升四暑期銜接閱讀專項(xiàng)訓(xùn)練(一)-課外閱讀(一) 統(tǒng)編版 (含答案)
- 瀝青鋪設(shè)腳手架施工合同范本
- 臨時平面設(shè)計(jì)師聘用合同模板
- 寧波音樂廳租賃合同范本
- 醫(yī)療機(jī)構(gòu)護(hù)士招聘合同協(xié)議
- 山水景觀房產(chǎn)合同五
- 農(nóng)業(yè)機(jī)械工廠租賃合同樣本
- 醫(yī)療建筑靜壓樁施工承包合同模板
- 航空公司副總經(jīng)理招聘合同樣本
- 寵物租賃委托合同
- 保潔綠化養(yǎng)護(hù)管理專項(xiàng)方案
- 提高門診患者滿意度的品管圈課件
- 膀胱疼痛綜合癥間質(zhì)性膀胱炎上海第二醫(yī)科大學(xué)課件
- 國家開放大學(xué)《人文英語2》綜合練習(xí)參考答案
- 短波治療儀的
- 生物質(zhì)顆粒燃料項(xiàng)目評價(jià)分析報(bào)告
- 北師大版數(shù)學(xué)三年級上冊全冊分層作業(yè)設(shè)計(jì)含答案
- abs的造粒工藝要求
- 2024年山東福瑞達(dá)醫(yī)藥集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 設(shè)備維保的通風(fēng)與空調(diào)系統(tǒng)維護(hù)
- 中國艾滋病現(xiàn)狀
評論
0/150
提交評論