




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C+學(xué)生成績管理系統(tǒng)源代碼作者: 日期:#include #include #include #include #include class Person public:char name8;class student:public Person/構(gòu)建學(xué)生類public:friend void Manage(student stud) ; friend void Input(student stud) ;friend void Statistic(student stud); friend void Lookup(student stud) ; friend void Modify(stude
2、nt stud) ; friend void Output(student stud) ; friend void Insert(student stud) ;friend void Write(student stud,int n); friend int Read(student stud);private:int num;char name8;char class_020;float c_program;float english;float math;float average;int order;stud100;class Manage:public student;void Wri
3、te(student stud,int n) /向文件中寫入數(shù)據(jù) fstream myFile; myFile.open(score.txt,ios:out|ios:binary); if(!myFile)coutscore.txt cant open!endl; abort();int count=n; myFilecountendlendl;for(int i=0;i=count;i+)3myFilestudi.class_0 studi.num studi.c_program studi.english studi.math studi.averageendl;my
4、File.close();int Read(student stud) / 從文件中讀數(shù)據(jù)fstream myFile;myFile.open(score.txt,ios:in|ios:binary);if(!myFile)coutscore.txt cant open!count;for(int i=0;istudi.class_0studi.c_programstudi.englishstu di.math studi.average;myFile.close();return count ;void Input(student stud) / 輸入學(xué)
5、生成績system(cls); /* 運行前清屏 */int i=0;int flag;char sign;coutendl 請輸入學(xué)生成績 nendl; while(sign!=n&sign!=N) /* 判斷 */coutstudi.class_0;loop:coutstudi.num;int c=0;while(ci)c+;if(studi.num=studi-c.num)cout 你輸入的學(xué)號已經(jīng)存在 !請重新輸入 !endl; goto loop;;doflag=0;coutstudi.c_program;if(studi.c_program100 |st
6、udi.c_program1) cout 請輸入 1-100 之間的數(shù)字 !n;elseflag=1;while(flag=0);doflag=0;coutstudi.english;if(studi.english100 |studi.english1) cout 請輸入 1-100 之間的數(shù)字 !n;elseflag=1;while(flag=0);doflag=0;coutstudi.math;if(studi.math100 |studi.math1) cout 請輸入 1-100 之間的數(shù)字 !n;elseflag=1;while(flag=0);studi.average=(stu
7、di.c_program+studi.english+studi.math)/3; cout 平均分: studi.averageendl;coutsign; /* 輸入判斷 */i+;Write(stud,i);5void Statistic(student stud) / 統(tǒng)計學(xué)生數(shù)據(jù)system(cls); /* 運行前清屏 */int n=Read(stud);平均分 endl;coutendl 顯示學(xué)生成績 nendl; cout班級 t 學(xué)號t 姓名 t for(int i=0;in;i+) coutstudi.class_0t studi
8、.averageendl;system(pause);void Lookup(student stud) / 查找學(xué)生成績int p;cout 請選擇 1.按學(xué)號查找 2.按姓名查找 p;if(p=1)system(cls); /* 運行前清屏 */int n=Read(stud);int s;int i=0;coutendl 查找學(xué)生成績 nendl; cout 請輸入查找學(xué)生的學(xué)號 :s;while(studi.num-s)!=0&in) i+; /* 查找判斷 */if(i=n)cout 沒有該學(xué)生的信息! endl; /* 輸入失敗信息 */elsecoutendl;cout 班級 :
9、studi.class_0endl; /* 輸出該學(xué)生信息 */ cout 學(xué)號 :studi.numendl;cout 姓名 :endl; coutC+:studi.c_programendl; cout 英語 :studi.englishendl;cout 數(shù)學(xué) :studi.mathendl; cout 平均分 :studi.averageendl;if(p=2)system(cls); /* 運行前清屏 */6int m=Read(stud); char t;int i=0; coutendl 查找學(xué)生成績 nendl; cout 請輸入查找學(xué)生的姓名 :t; wh
10、ile(strcmp(-t,)=0&im) i+; /*查找判斷 */coutendl;cout 班級 :studi.class_0endl; /* 輸出該學(xué)生信息 */cout 學(xué)號 :studi.numendl;cout 姓名 :endl; coutC+:studi.c_programendl;cout 英語 :studi.englishendl;cout 數(shù)學(xué) :studi.mathendl;cout 平均分 :studi.averageendl;void Modify(student stud) / 修改學(xué)生成績 system
11、(cls); /* 運行前清屏 */ int n=Read(stud); int s,a; float q; int i=0; coutendl 修改學(xué)生成績 nendl; cout 輸入修改成績學(xué)生的學(xué)號 :s;while(studi.num-s)!=0&in) i+; /* 查找判斷 */ if(i=n)cout 沒有該學(xué)生的成績 !endl; /* 輸入失敗信息 */ else cout 該學(xué)生的信息 nendl; /* 格式頭 */cout 班 級 t 學(xué) 號 t 姓 名 tc+t 英 語 t 數(shù)學(xué) t 平均分 endl;coutendl;coutstudi.class_0tstudi
12、.tstudi.c_programt7studi.englishtstudi.mathtstudi.averageendl; coutendl;cout 請輸入要修改的課程號 endl; cout1.c 語言 2.英語 3.數(shù)學(xué) a;cout 重新輸入分數(shù) q;if(a=1) studi.c_program=q; if(a=2)studi.english=q; if(a=3)studi.math=q;studi.average=(studi.c_program+studi.english+studi.math)/3; cout 該學(xué)生的信息 nendl; /* 格式
13、頭 */cout 班 級 t 學(xué) 號 t 姓 名 tc+t 英 語 t 數(shù)學(xué) t 平均分 endl;coutendl;coutstudi.class_0tstudi.c_program tstudi.englishtstudi.mathtstudi.averageendl;char c;cout 是否保存數(shù)據(jù) ?(y/n)c;if(c!=n&c!=N) Write(stud,n);void Insert(student stud) / 增加學(xué)生成績 system(cls); /* 運行前清屏 */ int n=Read(stud);char s; co
14、utendl* 插入學(xué)生成績 *nendl; while(s!=n&s!=N)cout 班級 :studn.class_0;coutstudn.num;; coutstudn.c_program; coutstudn.english; coutstudn.math;studn.average=(studn.c_program+studn.english+ studn.math)/3; cout 平均分 studn.average;n+; cout插入成功! endl; /* 返回成功信息 */ cout 是否繼續(xù)輸入 (y/n)s; Write(stud,n);vo
15、id Manage(student stud) / 按平均分對學(xué)生成績記錄項進行降序排序system(cls); /* 運行前清屏 */int i,j,k;float s;char t20; coutendl* 排列管理成績 *nendl; int n=Read(stud);for(i=0;in-1;i+) /* 冒泡法排序 */ for(j=0;jn-1-i;j+)if(studj.averagestudj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.cla
16、ss_0,t);k=studj+1.num; studj+1.num=studj.num;studj.num=k; strcpy(t,studj+1.name); strcpy(studj+1.name,); strcpy(,t);s=studj+1.c_program; studj+1.c_program=studj.c_program; studj.c_program=s;s=studj+1.english; studj+1.english=studj.english; studj.english=s;s=studj+1.math; studj+1.
17、math=studj.math; s=studj+1.average;studj+1.average=studj.average; studj.average=s;coutendl; /*格式頭 */cout 班級 t 學(xué)號 t 姓名 tC+t 英語 t 數(shù)學(xué) t 平均分 t 名次 endl;for(i=0;in;i+) /* 循環(huán)輸入 */studi.order=i+1;coutstudi.class_0tstudi.c_programstudi.orderendl;tstudi.englishtstudi.mathtstudi.averagetWr
18、ite(stud,n);void Output(student stud) / 顯示全部學(xué)生成績system(cls); /* 運行前清屏 */int n=Read(stud);cout顯示班級學(xué)生成績 *nendl;if(!stud)cout 沒有記錄 ;else coutstudi.class_0tstudi.c_programt studi.englisht studi.mathtstudi.averageendl;coutcout 班級 t 學(xué)號 t t 數(shù)學(xué) t 平均分 endl;for(int i=0;in;i+) /* 循環(huán)輸入 */endl; /* 格式頭 */ 姓名 tc+t 英語coutendl; int menu() /* 菜單函數(shù) */char c;do system(cls); /* 運行前清屏 */ cout*nendl;cout -cout 歡迎使用學(xué)生成績管理系統(tǒng) nendl;$endl;cout *【 1】輸入學(xué)生成績10endl;cout【2】顯示學(xué)生成績endl;cout【3】查找學(xué)生成績endl;cout【4】修改學(xué)生成績endl;cout【5】插入學(xué)生成績endl;cout【6】排列管理成績endl;cout【7】顯示班級學(xué)生成績endl;cout【0】退出本系統(tǒng)
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植物新品種知識培訓(xùn)課件
- 綠色物流園區(qū)建設(shè)項目合同
- 跨境電商物流合作項目協(xié)議
- 電信網(wǎng)絡(luò)建設(shè)和維護服務(wù)協(xié)議
- 遼寧省大連市高新技術(shù)產(chǎn)業(yè)園區(qū)2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 河北省保定市博野縣博野中學(xué)等校2024-2025學(xué)年高三下學(xué)期3月月考地理試題(含答案)
- 游戲開發(fā)行業(yè)游戲內(nèi)購消費協(xié)議
- 勞務(wù)承攬合同合同補充協(xié)議
- 蒸餾精餾知識培訓(xùn)課件
- 離婚協(xié)議書制作教程
- 污水處理廠入河排污口設(shè)置論證報告
- T-SHNA 0005-2023 成人住院患者腸外營養(yǎng)輸注護理
- 網(wǎng)絡(luò)營銷:推廣與策劃(第3版 慕課版)課件 項目一認知網(wǎng)絡(luò)營銷(知識基石)
- 職業(yè)道德(Professionalethics)教學(xué)課件
- 中醫(yī)推拿療法(推拿技術(shù))
- 拼音拼讀音節(jié)帶聲調(diào)完全版
- 冷庫安全檢查內(nèi)容與評價標準
- (完整版)4.19天體運動綜合習(xí)題(帶答案)
- 放射科未來五年發(fā)展規(guī)劃(2021-2025)
- 中學(xué)生預(yù)防性侵主題班會
- 不良資產(chǎn)項目律師法律盡調(diào)報告(模板)
評論
0/150
提交評論