版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、設(shè)計(jì)題目:成績(jī)管理系統(tǒng)設(shè)計(jì)要求實(shí)現(xiàn)如下功能:輸入一個(gè)班級(jí)的學(xué)生基本信息(包括學(xué)號(hào),姓名,性別,科目),對(duì)N門考試的成績(jī)進(jìn)行管理(例N=5)要求 :1.用戶錄入每個(gè)學(xué)生每門課程的分?jǐn)?shù);2。能夠計(jì)算每個(gè)學(xué)生的各門功課總分和平均分,并按總分將成績(jī)排序,顯示每個(gè)學(xué)生的總分和排名;3.計(jì)算全班各門功課的平均分,顯示沒門課程中低于平均分的每一個(gè)學(xué)生的學(xué)號(hào),姓名,性別,科目,成績(jī)等信息;4.顯示每門科目中,成績(jī)?cè)?0分以上的學(xué)生信息.另外還輸出每門科目中不及格的學(xué)生信息;5.能按姓名或者學(xué)號(hào)查找,增加,刪除和保存各個(gè)學(xué)生的信息。6 文件操作源碼:class.cpp文件:includeiostreamincl
2、udefstream#includestringusing namespace std;class Student private: int no; string name,sex; public: string getName()return name;string getSex()return sex; int getNo()return no; void setSex(string s)sex=s;void setNo(int sno)no=sno;void setName(string nam)name=nam; void show() cout”學(xué)號(hào) :"<no<
3、;<endl; cout”姓名 :"<<nameendl; cout”性別 :”sexendl; coutendl; void Init() string n; int num,s; cout”請(qǐng)輸入學(xué)號(hào):"endl; cin>num; cout<”請(qǐng)輸入姓名:”endl; cinn; cout<”請(qǐng)選擇性別:男 0,女 1"endl; cin>s; no=num; name=n; string s1,s2; if(s=0)s1="boy”;Student:setSex(s1); else s2=”girl”;S
4、tudent::setSex(s2); ;class Classesprivate: string name;public: int number; Student c100; int getNumber()return number; Student getStu()return c100; void setStudent(Student a100)c100=a100; void setNumber(int num)number=num; void Init() number=0; string nam; cout"請(qǐng)輸入班級(jí)姓名:”<<endl; cin>nam
5、; cout”請(qǐng)輸入班級(jí)人數(shù):”<endl; cin>>number; for(int i=0;inumber;i+) ci.Init(); ofstream out; out。open(”student.txt”,ios:out); if(!out) cerr<"文件打不開”endl; abort(); for(int i=0;i<number;i+)out<ci。getNo()” ”ci。getName()” "<ci.getSex()<endl;out.close(); void searchByName() strin
6、g nam; cout<”請(qǐng)輸入要查找的學(xué)生姓名:"endl; cin>nam; int i; for(i=0;i<number;i+) if(ci.getName()=nam) ci。show(); void serchByNo() int n; cout”請(qǐng)輸入要查找的學(xué)號(hào);"<endl; cin>n; int i; for(i=0;i100;i+) if(ci.getNo()=n)ci.show();break; ;class Courseprivate: string name; int score;public: string get
7、Name()return name; void Init() string nam; cout"請(qǐng)輸入課程名:”endl; cinnam; setName(nam); void setName(string nam)name=nam;;class OpreatorCoupublic: Classes c1; Course co20; int Mark100100,StuAll100,n; void setN(int nn)n=nn; int getN()return n; int getMark()return Mark100100; Course getCo()return co2
8、0; void IN() cout<”請(qǐng)輸入課程數(shù)量:”<endl; cin>n; for(int i=0;in;i+) coi。Init(); ofstream outS; outS.open("course。txt”,ios:out); if(!outS) cerr<”文件打不開”endl; abort(); for(int i=0;in;i+)outScoi。getName()endl;outS。close(); void input(Course co20,int n,Student c, int number ) int s; for(int i=0
9、;i<n;i+) for(int j=0;jnumber;j+) cout”請(qǐng)輸入”<<cj。getName()"的”<coi。getName()<"成績(jī)”<endl; cin>s;if(s0|s100)cout”你輸入的成績(jī)有誤請(qǐng)重新輸入!(成績(jī)范圍為0100!)”<endl; j=j1;else Markij=s; ofstream out; out。open("score。txt”,ios:out); if(!out) cerr<<”文件打不開"<endl; abort(); for
10、(int i=0;i<n;i+) outcoi。getName(); for(int j=0;jnumber;j+) out<” ”Markij<” ”; outendl; out。close(); void CountStu(int Mark100100,int number,int n)for(int i=0;inumber;i+)int s=0;for(int j=0;jn;j+)s=s+Markji;StuAlli=s; void CountCouAvg(int Mark100100,Student c,int number,Course co,int n) floa
11、t CouAll10; for(int i=0;in;i+) float s=0。0; for(int j=0;jnumber;j+) s=s+Markij; CouAlli=s/n; for(int i=0;in;i+)cout<coi。getName()<"的平均分是:"<(CouAlli)<endl; for(int i=0;in;i+) for(int j=0;j<number;j+) if(Markij<CouAlli) cout<<cj。getName()<"的”coi。getName()”成績(jī)小于
12、平均分。"endl; void showUnpass(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+) for(int j=0;jnumber;j+) if(Markij60) cout<cj。getName()<”的”<coi。getName()”成績(jī)不及格!”<endl; void showGood(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+) for
13、(int j=0;j<number;j+) if(Markij90) cout<cj.getName()"的”<<coi。getName()<<”成績(jī)優(yōu)秀!成績(jī)?yōu)椋骸盡arkij<endl; void order(Student c,int number,int StuAll,int n) for(int i=0;inumber;i+) int sum=0;Student stu; if(StuAlli<StuAlli+1) sum=StuAlli; StuAlli=StuAlli+1; StuAlli+1=sum; stu=ci; c
14、i=ci+1; ci+1=stu; for(int i=0;inumber;i+) cout<ci。getName()”的排名是:”(i+1)<<” 總分:”<StuAlli<<endl; ofstream out; out.open(”studentscore.txt”,ios::out); if(!out) cerr”文件打不開"endl; abort(); for(int i=0;inumber;i+)out<ci。getName()” "StuAlli<" ”<(i+1)endl;out。close()
15、; void Delete(int Mark100100,Student c,int number,int n) string na; cout<"請(qǐng)輸入要?jiǎng)h除的學(xué)生姓名:”endl; cin>na; for(int i=0;i<number;i+) if(ci。getName()=na) for(i;i<number;i+) ci=ci+1; for(int j=0;j<n;j+) for(int k=i;knumber;k+) Markjk=Markjk+1; elsecout<"您要?jiǎng)h除的學(xué)生不存在!”endl; cout<”
16、刪除成功!”<endl; void ReadText(Student c,int number,Course co,int n) char sname30,sex30; int sno; ifstream in(”student。txt",ios::in); if(!in) cerr<”文件打不開”<<endl; abort(); int i=-1; insno>>snamesex; while(!in。eof()) i=i+1; ci。setNo(sno); ci。setName(sname); ci。setSex(sex); in>sno
17、snamesex; c1。setStudent(c); c1。setNumber(i+1); in.close(); char nam20; ifstream ins(”course。txt",ios::in); if(!ins) cerr”文件打不開"endl; abort(); int j=1; ins>nam; while(!ins.eof() j+; coj.setName(nam); ins>nam; setN(j+1); ins。close(); cout<<”讀取文件完畢,請(qǐng)繼續(xù)操作!”<<endl; ;主函數(shù):#inclu
18、de”class。cpp"includeiostream void showMenue()cout<"*學(xué)生成績(jī)管理系統(tǒng)*"<<endl;cout”請(qǐng)選擇功能:”<endl;cout”1 輸入學(xué)生成績(jī)”endl;cout<”2 根據(jù)成績(jī)排序輸出?!?lt;endl;cout<”3 顯示成績(jī)大于90分的學(xué)生”<endl;cout<”4 顯示不及格學(xué)生”endl;cout<”5 按姓名查找"<endl;cout”6 按學(xué)號(hào)查找”endl;cout<”7 顯示成績(jī)小于課程平均分的學(xué)生”<e
19、ndl;cout<”8 刪除學(xué)生信息”endl;cout”0 退出"endl;cout<endl;void main()int choice,input ;cout<"請(qǐng)選擇初始化方式:1。手動(dòng)輸入 2。從文件讀取”<endl;cininput;OpreatorCou op;if(input=1) op。c1.Init();op。IN();if(input=2)op。ReadText(op.c1。c,op.c1。getNumber(),op.co,op。getN()); do showMenue(); cinchoice; switch(choice) case 1: o
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版學(xué)校多功能廳裝修及音響設(shè)備采購(gòu)合同3篇
- 二零二五年度抽油煙機(jī)產(chǎn)品召回與責(zé)任承擔(dān)合同3篇
- 2025版學(xué)校游泳池水處理設(shè)備采購(gòu)與安裝承包合同示范3篇
- 二零二五年度文化藝術(shù)品交易合同三要素及鑒定流程2篇
- 2025年個(gè)人房產(chǎn)買賣交易資金托管服務(wù)合同2篇
- 2025借款采用什么形式訂立合同
- 2025培訓(xùn)機(jī)構(gòu)教師合同范本范文
- 2025個(gè)人承包合同樣本
- 二零二五年度新型門衛(wèi)管理系統(tǒng)采購(gòu)合同3篇
- 2025年度程序員入職及項(xiàng)目合作合同范本4篇
- 高中生物選擇性必修1試題
- 電氣工程及其自動(dòng)化專業(yè)《畢業(yè)設(shè)計(jì)(論文)及答辯》教學(xué)大綱
- 《客艙安全管理與應(yīng)急處置》課件-第14講 應(yīng)急撤離
- 中華人民共和國(guó)文物保護(hù)法
- 2025屆高考作文押題預(yù)測(cè)5篇
- 節(jié)前物業(yè)安全培訓(xùn)
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)集錦
- 阿里巴巴國(guó)際站:2024年珠寶眼鏡手表及配飾行業(yè)報(bào)告
- 高甘油三酯血癥相關(guān)的器官損傷
- 手術(shù)室護(hù)士考試題及答案
- 牙膏項(xiàng)目創(chuàng)業(yè)計(jì)劃書
評(píng)論
0/150
提交評(píng)論