版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言課程設(shè)計報告1 .問題描述:題目七:學(xué)生成績管理系統(tǒng)設(shè)計學(xué)生成績信息包括:學(xué)期,學(xué)號,班別,姓名,四門課程成績(語文、數(shù)學(xué)、英語和計算機 )等。主要功能:(1)能按學(xué)期、按班級完成對學(xué)生成績的錄入、修改(2)能按班級統(tǒng)計學(xué)生的成績,求學(xué)生的總分及平均分(3)能查詢學(xué)生成績,不及格科目及學(xué)生名單(4)能按班級輸出學(xué)生的成績單要求:使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作學(xué)生成績信息包括:學(xué)期,學(xué)號,班別,姓名,四門課程成績(語文、數(shù)學(xué)、英語和計算機 )等。要求使用二進制文件方式存儲數(shù)據(jù),系統(tǒng)以菜單方式工作,實現(xiàn)對學(xué)生成績的錄入,修改,統(tǒng)計,排序, 查詢,輸出等功能。2 .設(shè)計目的設(shè)計
2、“學(xué)生成績管理系統(tǒng)”使其具有以下功能:11)能完成對學(xué)生成績的錄入(2)能按班級統(tǒng)計學(xué)生的成績,求學(xué)生的總分及平均分,排序(3)能按班級,學(xué)期輸出學(xué)生的成績單和不及格科目及學(xué)生名單(4)能查詢單個學(xué)生成績(5)能修改單個學(xué)生信息3 .要求系統(tǒng)以菜單方式工作4 .功能1輸入功能:可以一次完成無數(shù)條信息的輸入。2輸出功能:能按班級輸出學(xué)生的成績單。3修改功能:完成對單個學(xué)生成績的修改。4查找功能:完成對單個學(xué)生信息查找,并顯示。5排序功能:按學(xué)生成績進行排序,并顯示。6有一個清晰美觀界面來調(diào)用各個功能五.模塊圖結(jié)構(gòu)數(shù)組struct student學(xué)期 int term班級 int classes姓
3、名 char name10學(xué)號int num成績 int score4信息錄入void input學(xué)號 stui.num 、班級 stui.classes ,姓名 、四門課成績 stui.score成績統(tǒng)計void sort按班級統(tǒng)計學(xué)生的成績,求學(xué)生的總分及平均分,排序成績輸出能按班級,學(xué)期輸出學(xué)生成績單和不及格科目及學(xué)生名單void print能按學(xué)號查詢單個學(xué)生成績修改單個學(xué)生信息void六.詳細內(nèi)容monify整個系統(tǒng)除了主函數(shù)外,另外還有5個函數(shù),實現(xiàn)六大功能:輸入功能、輸出功能、修改功能,查找并顯示功能、排序并顯示功能。各個函數(shù)的詳細設(shè)計說明分別如下:1 .定義
4、結(jié)構(gòu)體及宏定義#include <stdlib.h>#include <stdio.h>#include <string.h>#define NUM 100 struct student int term;int num;int classes;char name10;int score4;int sum;float average;stuNUM;2.主函數(shù) main()利用無限次循環(huán)for(;)和swithch()進行菜單選擇來實現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項來調(diào) 用相應(yīng)的函數(shù)。等執(zhí)行完每一個函數(shù)功能后,按任一鍵回到主界面也要通過這個函數(shù)來實現(xiàn)!v
5、oid main()zcd();/*主函數(shù)界面*/void zcd()int n=0;char m;system("cls");/* 清屏 */printf("按任一鍵進入主菜單n "); /*按任一鍵進入主菜單*/printf("*n");printf("tt華中科技大學(xué)文華學(xué)院歡迎您n");printf("nttt歡迎使用學(xué)生管理系統(tǒng)nntttttAn");printf(" * *MENU * *n");printf("ttt1.printf("ttt
6、2.printf("ttt3.printf("ttt4.printf("ttt5.輸入學(xué)生成績記錄 Input the record'n"); /* 排序并顯示 Sort to make new a file'n"); /* 按班級顯示成績單 Print the record'n"); /*輸入學(xué)生成績記錄*/排序*/顯示*/printf("ttt6.查找個人成績Search record on name'n"); /* 查找 */修改 Modify a record'n&q
7、uot;); /* 修改 */退出 Quit'n"); /* 退出 */printf("*n");printf("nttt 輸入你的選擇 Enter your choice(17):");fflush(stdin);m=getchar();doswitch(m) case '1':input();zcd();break;case '2':sort();system("pause");zcd();break; case '3':print();system("p
8、ause");break;case '4':search();zcd();break;case '5':modify();system("pause");zcd();break;case '6':exit(0); /*如菜單返回值為7則程序結(jié)束*/default:printf("錯誤命令");getchar();zcd(); while(1);3輸入信息函數(shù)void input()system("cls");int i;char a;for(i=0;i<NUM;i+) p
9、rintf(" n請輸入學(xué)生的學(xué)期:");scanf("%d",&stui.term);printf(" n請輸入學(xué)生的學(xué)號:");fflush(stdin);scanf("%d",&stui.num);printf(" n請輸入學(xué)生的班級:");scanf("%d",&stui.classes);printf("n請輸入學(xué)生的姓名:");scanf("%s", );printf("n
10、請輸入學(xué)生的i文成績:");scanf("%d",&stui.score0);printf("n請輸入學(xué)生的數(shù)學(xué)成績:");scanf("%d", &stui.score1);printf("n請輸入學(xué)生的英語成績:");scanf("%d", &stui.score2);printf("n請輸入學(xué)生的計算機成績:");scanf("%d", &stui.score3);stui.sum=stui.score0+s
11、tui.score1+stui.score2+stui.score3;/算總分和平均stui.average=(float)stui.sum/4.0;printf("是否要繼續(xù)添加(按N&n退出)");fflush(stdin);a=getchar();if(a='n'|a='N')break;4、排序并顯示函數(shù)void sort()int i,j=0;float temp;for(i=0;i<NUM;i+) stui.sum=stui.score0+stui.score1+stui.score2+stui.score3;stu
12、i.average=(float)stui.sum/4.0;for(i=0;i<NUM-1;i+)for(j=i+1;j<NUM;j+)if(stui.sum<stuj.sum)temp=stui.sum;stui.sum=stuj.sum;stuj.sum=temp; ? printf("學(xué)號t姓名t班級語文數(shù)學(xué)英語計算機總分平均分n");for(i=0;i<NUM;i+)printf("%dt%st%d%5d%5d%5d%6d%7d%8.2fn",stui.num,,stui.classes,stui.sco
13、re0,stui.score1,stui.score2,stui.score3,stui.sum,stui.average);/*輸出學(xué)生信息*/system("pause");system("cls");print();?5查找并顯示一個記錄void search() system("cls");/* 清屏 */int number=0,i;printf("ttt請輸入要查找學(xué)生的學(xué)號:");scanf("%d",&number);printf("學(xué)號t姓名t班級語文數(shù)學(xué)英語
14、計算機總分平均分n");for(i=0;i<NUM;i+)if(number=stui.num) break;/* 查找判斷 */ if(i<NUM)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); /*輸出學(xué)生信息*/elseprintf("沒找到該學(xué)生的信息n");system("pa
15、use");6.按學(xué)期、按班級輸由成績函數(shù)void print()system("cls");char a;printf("1、按學(xué)期輸出n");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()/ 按學(xué)期i
16、nt i,m;printf("請輸入學(xué)期:n");scanf("%d",&m);printf("學(xué)號t姓名t班級語文數(shù)學(xué)英語計算機總分平均分n");for(i=0;i<NUM;i+)if(m=stui.term)輸出學(xué)生信息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.averag
17、e); /*/system("pause");system("cls");print();void print2()/ 按班級int i,j,k;printf("請輸入班級:n");scanf("%d",&k);printf("學(xué)號t姓名t班級 語文 數(shù)學(xué) 英語 計算機 總分 平均分n");for(i=0;i<NUM;i+)if(k=stui.classes) stui.sum=stui.score0+stui.score1+stui.score2+stui.score3;stui
18、.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); /*輸出學(xué)生信 息*/printf("輸出不及格學(xué)生名單及成績:n");printf("學(xué)號t姓名t班級語文數(shù)學(xué)英語計算機n");for(i=0;i<NUM;i+)for(j=0;j<4;j+)i
19、f(stui.scorej<60&&k=stui.classes)/* 輸出不及格學(xué)生名單及成績*/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修改成績函數(shù)void modify() system("cls");int nu
20、mber,i;printf("ttt請輸入要修改信息J勺學(xué)生學(xué)號:");scanf("ttt%d",&number);for(i=0;i<NUM;i+)if(number=stui.num) break;/* 查找判斷 */if(i<NUM)/* 查找判斷 */ printf("請輸入修改后的學(xué)生的信息:");printf(" n請輸入學(xué)生的學(xué)期:");scanf("%d",&stui.term);printf(" n請輸入學(xué)生的學(xué)號:");ffl
21、ush(stdin);scanf("%d",&stui.num);printf(" n請輸入學(xué)生的班級:");scanf("%d",&stui.classes);printf("n請輸入學(xué)生的姓名:");scanf("%s", );printf("n請輸入學(xué)生的i文成績:");scanf("%d",&stui.score0);printf("n請輸入學(xué)生的數(shù)學(xué)成績:");scanf("%d", &stui.score1);printf("n請輸入學(xué)生的英語成績:");scanf("%d", &stui.score2);printf("n請輸入學(xué)生的計算機成績:");scanf("%d", &stui.score3);elseprintf("沒找到該學(xué)生的信息n");system(&qu
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度棉紗行業(yè)質(zhì)量標(biāo)準(zhǔn)制定與實施合同4篇
- 2025版年會現(xiàn)場攝影攝像服務(wù)合同范本4篇
- 二零二五年度棉花病蟲害防治與防治藥物供應(yīng)合同4篇
- 二零二五年度新能源汽車動力電池研發(fā)合作合同
- 2025年度農(nóng)家樂景區(qū)旅游咨詢與導(dǎo)覽服務(wù)合同協(xié)議
- 二零二五年度美容院美容設(shè)備維護保養(yǎng)及備件供應(yīng)合同4篇
- 二零二五年度美甲店互聯(lián)網(wǎng)營銷與電商平臺合作合同4篇
- 二零二五年度南寧市體育場館設(shè)施租賃合同及賽事組織協(xié)議3篇
- 2025年度個人二手車居間銷售合同示范文本2篇
- 二零二五年帳篷租賃及活動策劃服務(wù)合同3篇
- 完整版秸稈炭化成型綜合利用項目可行性研究報告
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- (2024)河南省公務(wù)員考試《行測》真題及答案解析
- 2025年河北省單招語文模擬測試二(原卷版)
- 工作計劃 2025年度醫(yī)院工作計劃
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- DB34∕T 4010-2021 水利工程外觀質(zhì)量評定規(guī)程
- 2024年內(nèi)蒙古中考英語試卷五套合卷附答案
- 2024年電工(高級)證考試題庫及答案
- 2024年全國各地中考試題分類匯編:古詩詞閱讀
評論
0/150
提交評論