




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上C語言課程設計報告一 .問題描述:題目七:學生成績管理系統設計學生成績信息包括:學期,學號,班別,姓名,四門課程成績(語文、數學、英語和計算機)等。主要功能:(1) 能按學期、按班級完成對學生成績的錄入、修改(2) 能按班級統計學生的成績,求學生的總分及平均分(3) 能查詢學生成績,不及格科目及學生名單(4) 能按班級輸出學生的成績單要求:使用二進制文件方式存儲數據,系統以菜單方式工作學生成績信息包括:學期,學號,班別,姓名,四門課程成績(語文、數學、英語和計算機)等。要求使用二進制文件方式存儲數據,系統以菜單方式工作,實現對學生成績的錄入,修改,統計,排序,查詢,輸
2、出等功能。二 .設計目的設計“學生成績管理系統”使其具有以下功能:(1) 能完成對學生成績的錄入(2) 能按班級統計學生的成績,求學生的總分及平均分,排序(3) 能按班級,學期輸出學生的成績單和不及格科目及學生名單(4) 能查詢單個學生成績(5) 能修改單個學生信息三 . 要求系統以菜單方式工作四 . 功能1 輸入功能:可以一次完成無數條信息的輸入。2 輸出功能:能按班級輸出學生的成績單。3 修改功能:完成對單個學生成績的修改。4 查找功能:完成對單個學生信息查找,并顯示。5 排序功能:按學生成績進行排序,并顯示。6 有一個清晰美觀界面來調用各個功能五模塊圖修 改void monify修改單個
3、學生信息主流程學期int term班級int classes信息錄入void input 成績統計void sort查詢 void search姓名char name10學號int num成績int score4學號stui.num、班級stui.classes,姓名、四門課成績stui.score能按學號查詢單個學生成績 按班級統計學生的成績,求學生的總分及平均分,排序成績輸出void print能按班級,學期輸出學生成績單和不及格科目及學生名單結構數組struct student六 . 詳細內容整個系統除了主函數外,另外還有5個函數,實現六大功能:輸入功能、輸出功能、修改
4、功能,查找并顯示功能、排序并顯示功能。各個函數的詳細設計說明分別如下:1 . 定義結構體及宏定義 #include #include #include #define NUM 100struct student int term; int num; int classes; char name10; int score4; int sum; float average; stuNUM;2主函數 main()利用無限次循環for(;)和swithch()進行菜單選擇來實現各函數的調用,系統根據輸入的數字選項來調用相應的函數。等執行完每一個函數功能后,按任一鍵回到主界面也要通過這個函數來實現!vo
5、id main() zcd();/*主函數界面*/ void zcd()int n=0;char m;system(cls);/*清屏*/ printf(按任一鍵進入主菜單n ); /*按任一鍵進入主菜單*/ printf(*n); printf(tt華中科技大學文華學院歡迎您n); printf(nttt- 歡迎使用學生管理系統nnttttt-n); printf(*MENU*n); printf(ttt1. 輸入學生成績記錄 Input the recordn); /*輸入學生成績記錄*/ printf(ttt2. 排序并顯示 Sort to make new a filen); /*排序
6、*/ printf(ttt3. 按班級顯示成績單 Print the recordn); /*顯示*/ printf(ttt4. 查找個人成績 Search record on namen); /*查找*/ printf(ttt5. 修改 Modify a recordn); /*修改*/ printf(ttt6. 退出 Quitn); /*退出*/ printf(*n); printf(nttt輸入你的選擇Enter your choice(17):); fflush(stdin); m=getchar(); doswitch(m) case 1:input();zcd();break; c
7、ase 2:sort();system(pause);zcd();break; case 3:print();system(pause);break; case 4:search();zcd();break; case 5:modify();system(pause);zcd();break; case 6:exit(0); /*如菜單返回值為7則程序結束*/ default:printf(錯誤命令); getchar();zcd(); while(1);3輸入信息函數 void input() system(cls); int i;char a;for(i=0;iNUM;i+) printf
8、( n請輸入學生的學期:); scanf(%d,&stui.term); printf( n請輸入學生的學號:); fflush(stdin); scanf(%d,&stui.num); printf( n請輸入學生的班級:); scanf(%d,&stui.classes); printf(n請輸入學生的姓名:); scanf(%s, ) ; printf(n請輸入學生的語文成績:); scanf(%d,&stui.score0); printf(n請輸入學生的數學成績:); scanf(%d, &stui.score1); printf(n請輸入學生的英語成績:); sc
9、anf(%d, &stui.score2); printf(n請輸入學生的計算機成績:); scanf(%d, &stui.score3); stui.sum=stui.score0+stui.score1+stui.score2+stui.score3;/算總分和平均 stui.average=(float)stui.sum/4.0; printf(是否要繼續添加(按N&n退出); fflush(stdin); a=getchar(); if(a=n|a=N) break;4、排序并顯示函數 void sort() int i,j=0;float temp; for(i=0;iNUM;i+)
10、 stui.sum=stui.score0+stui.score1+stui.score2+stui.score3; stui.average=(float)stui.sum/4.0; for(i=0;iNUM-1;i+)for(j=i+1;jNUM;j+)if(stui.sumstuj.sum)temp=stui.sum; stui.sum=stuj.sum; stuj.sum=temp; printf(學號t姓名t班級 語文 數學 英語 計算機 總分 平均分n); for(i=0;iNUM;i+) printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,
11、,stui.classes, stui.score0,stui.score1,stui.score2,stui.score3,stui.sum,stui.average); /*輸出學生信息*/ system(pause);system(cls);print();5查找并顯示一個記錄 void search() system(cls);/*清屏*/ int number=0,i; printf(ttt 請輸入要查找學生的學號:); scanf(%d,&number); printf(學號t姓名t班級 語文 數學 英語 計算機 總分 平均分n); for(i=0;iNUM;i+
12、) if(number=stui.num) break;/*查找判斷*/ if(iNUM)printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stui.classes,stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*輸出學生信息*/ elseprintf(沒找到該學生的信息n);system(pause); 6按學期、按班級輸出成績函數void print() system(cls);char a; printf(1、按學期輸出n);
13、printf(2、按班級輸出n);printf(3、返回n);fflush(stdin);a=getchar();switch(a)case 1:print1();case 2:print2();case 3:zcd();default:print(); void print1()/按學期int i,m;printf(請輸入學期:n);scanf(%d,&m);printf(學號t姓名t班級 語文 數學 英語 計算機 總分 平均分n);for(i=0;iNUM;i+) if(m=stui.term) printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,s
14、,stui.classes, stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*輸出學生信息*/system(pause);system(cls);print();void print2()/按班級int i,j,k;printf(請輸入班級:n);scanf(%d,&k); printf(學號t姓名t班級 語文 數學 英語 計算機 總分 平均分n);for(i=0;iNUM;i+) if(k=stui.classes) stui.sum=stui.score0+stui.sco
15、re1+stui.score2+stui.score3; stui.average=stui.sum/4.0; printf(%dt%st%d%5d%5d%5d%6d%7d%8.2fn,stui.num,,stui.classes, stui.score0,stui.score1,stui.score2, stui.score3,stui.sum,stui.average); /*輸出學生信息*/ printf(輸出不及格學生名單及成績:n);printf(學號t姓名t班級 語文 數學 英語 計算機 n);for(i=0;iNUM;i+) for(j=0;j4;j+) if(
16、stui.scorej60&k=stui.classes) /*輸出不及格學生名單及成績*/ printf(%dt%st%d%5d%5d%5d%6dn,stui.num,,stui.classes, stui.score0,stui.score1,stui.score2, stui.score3); break; system(pause);system(cls);print();7修改成績函數void modify() system(cls); int number,i; printf(ttt請輸入要修改信息的學生學號:); scanf(ttt%d,&number); fo
17、r(i=0;iNUM;i+) if(number=stui.num) break;/*查找判斷*/ if(iNUM)/*查找判斷*/ printf(請輸入修改后的學生的信息:); printf( n請輸入學生的學期:); scanf(%d,&stui.term); printf( n請輸入學生的學號:); fflush(stdin); scanf(%d,&stui.num); printf( n請輸入學生的班級:); scanf(%d,&stui.classes); printf(n請輸入學生的姓名:); scanf(%s, ) ; printf(n請輸入學生的語文成績:);
18、 scanf(%d,&stui.score0); printf(n請輸入學生的數學成績:); scanf(%d, &stui.score1); printf(n請輸入學生的英語成績:); scanf(%d, &stui.score2); printf(n請輸入學生的計算機成績:); scanf(%d, &stui.score3); elseprintf(沒找到該學生的信息n);system(paues);system(cls);zcd(); 七運行過程主菜單成績錄入統計排序按學期輸出成績按班級輸出成績查找個人成績修改單個學生信息八.設計總結經過幾周的課程設計,我學到了很多東西:鞏固和加深了對編程的理解,提高綜合運用本課程所學知識的能力。培養了我選用參考書,查閱手冊及文獻資料的能力。培養獨立思考,深入研究,分析問題、解決問題的能力。經過實際編譯系統的分析設計、編程調試,掌握
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 靜脈輸液工具的合理選擇 2
- 廣東詩莞市高二數學下學期5月期中試題
- 部編版一年級語文下冊生字筆順期末復習
- 【2】66144+AIGC應用基礎+課程標準
- 岳陽現代服務職業學院《生物醫學導論》2023-2024學年第二學期期末試卷
- 四川省德陽中學2025年高三調研測試(二)物理試題文試題含解析
- 遼寧省大連市達標名校2025屆中考猜題卷(一)語文試題含解析
- 江西婺源茶業職業學院《數字音頻處理技術》2023-2024學年第二學期期末試卷
- 延邊大學《生物醫學工程應用實驗》2023-2024學年第二學期期末試卷
- 四川省成都龍泉第二中學2025屆高三下學期零月考英語試題試卷含解析
- 上海市控江中學2024-2025學年高二下學期期中聯考英語試題(含答案)
- DB61T 5113-2024 建筑施工全鋼附著式升降腳手架安全技術規程
- 反詐知識競賽題庫及答案(共286題)
- 2024年福建省中考歷史試卷(含標準答案及解析)
- 高等工程數學Ⅲ智慧樹知到期末考試答案章節答案2024年南京理工大學
- 中華民族共同體概論課件專家版6第六講 五胡入華與中華民族大交融(魏晉南北朝)
- 高等學校建筑學專業本科(五年制)教育評估標準
- 品質周報表(含附屬全套EXCEL表)
- 商鋪裝修工程施工方案.
- MQ2535門座起重機安裝方案
- 一針療法高樹中著精校版本
評論
0/150
提交評論