學生成績管理系統C_第1頁
學生成績管理系統C_第2頁
學生成績管理系統C_第3頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、設計題目:成績管理系統設計要求實現如下功能:輸入一個班級的學生基本信息(包括學號,姓名,性別,科目),對N門考試的成績進行管理(例N=5)要求:1。用戶錄入每個學生每門課程的分數;2。能夠計算每個學生的各門功課總分和平均分,并按總分將成績排序,顯示每個學生的總 分和排名;3。計算全班各門功課的平均分,顯示沒門課程中低于平均分的每一個學生的學號,姓名, 性別,科目,成績等信息;4。顯示每門科目中,成績在90分以上的學生信息。 另外還輸出每門科目中不和格的學生信 息;5。能按姓名或者學號查找,增加,刪除和保存各個學生的信息。6文件操作源碼:class.cpp 文件:#in clude<ios

2、tream>#in clude<fstream>#in clude<stri ng>using n amespace std;class Stude ntprivate:int no;stri ng n ame,sex;public:stri ng getName()retur n n ame;string getSex()return sex;int getNo()retur n n o;void setSex(stri ng s)sex=s;void setNo(i nt sno)no=sn o;void setName(stri ng n am) name=

3、n am;void show()cout<<"學號:"<<no<<endl;cout<<"姓名:"<<name<<endl;cout<<"性另【J : "<<sex<<endl;cout<<endl; void Init() string n; int num,s; cout<<" 請輸入學號: "<<endl; cin>>num; cout<<&q

4、uot; 請輸入姓名: "<<endl; cin>>n;cout<<" 請選擇性別:男 0,女 1"<<endl; cin>>s;no=num; name=n; string s1,s2;if(s=0)s1="boy"Student:setSex(s1); elses2="girl"Student:setSex(s2); ;class Classes private: string name;public:int number;Student c100;int ge

5、tNumber()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<<" 請輸入班級姓名: "<<endl; cin>>nam;cout<<" 請輸入班級人數: "<<endl; cin>>number;for(int i=

6、0;i<number;i+) ci.Init(); ofstream out; out.open("student.txt",ios:out);if(!out)cerr<<" 文件打不開 "<<endl;abort();for(int i=0;i<number;i+)"<<ci.getSex()<<endl;out<<ci.getNo()<<" "<<ci.getName()<<" out.close();v

7、oid searchByName() string nam; cout<<" 請輸入要查找的學生姓名: "<<endl; cin>>nam;int i;for(i=0;i<number;i+)if(ci.getName()=nam) ci.show();void serchByNo()int n;cout<<" 請輸入要查找的學號 ;"<<endl; cin>>n;int i;for(i=0;i<100;i+) if(ci.getNo()=n)ci.show();brea

8、k;class Courseprivate:string name;int score;public:string getName()return name;void Init()string nam;cout<<" 請輸入課程名: "<<endl;cin>>nam;setName(nam);void setName(string nam)name=nam;class OpreatorCoupublic:Classes c1;Course co20;int Mark100100,StuAll100,n;void setN(int nn)n

9、=nn;int getN()return n;int getMark()return Mark100100;Course getCo()return co20;void IN()cout<<" 請輸入課程數量: "<<endl;cin>>n;for(int i=0;i<n;i+)coi.Init();ofstream outS;outS.open("course.txt",ios:out);if(!outS)cerr<<" 文件打不開 "<<endl;abort();f

10、or(int i=0;i<n;i+)outS<<coi.getName()<<endl;outS.close();void input(Course co20,int n,Student c, int number )int s;for(int i=0;i<n;i+)for(int j=0;j<number;j+)cout<<" 請輸入 "<<cj.getName()<<" 的 "<<coi.getName()<<" 成績 "<

11、<endl; cin>>s;if(s<0|s>100)cout<<" 你輸入的成績有誤請重新輸入! (成績范圍為 0-100!)"<<endl; j=j-1;elseMarkij=s; ofstream out;out.open("score.txt",ios:out);if(!out)cerr<<" 文件打不開 "<<endl; abort();for(int i=0;i<n;i+) out<<coi.getName();for(int

12、j=0;j<number;j+) out<<" "<<Markij<<" " out<<endl;out.close();void CountStu(int Mark100100,int number,int n)for(int i=0;i<number;i+)int s=0;for(int j=0;j<n;j+) s=s+Markji;StuAlli=s;void CountCouAvg(int Mark100100,Student c,int number,Course co,int

13、n) float CouAll10;for(int i=0;i<n;i+)float s=0.0;for(int j=0;j<number;j+) s=s+Markij; CouAlli=s/n;for(int i=0;i<n;i+)cout<<coi.getName()<<" 的平均分是: "<<(CouAlli)<<endl;for(int i=0;i<n;i+) for(int j=0;j<number;j+) if(Markij<CouAlli) cout<<cj.get

14、Name()<<" 的 "<<coi.getName()<<" 成績小于平均分。 "<<endl;void showUnpass(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+)for(int j=0;j<number;j+) if(Markij<60)cout<<cj.getName()<<" 的 "<<coi.getName()<

15、<" 成 績 不 和 格 ! "<<endl;void showGood(int Mark100100,Student c,int number,Course co,int n) for(int i=0;i<n;i+)for(int j=0;j<number;j+) if(Markij>90) cout<<cj.getName()<<" 的 "<<coi.getName()<<" 成績優秀!成績 為: "<<Markij<<en

16、dl;void order(Student c,int number,int StuAll,int n)for(int i=0;i<number;i+)int sum=0;Student stu;if(StuAlli<StuAlli+1) sum=StuAlli; StuAlli=StuAlli+1; StuAlli+1=sum;stu=ci;ci=ci+1; ci+1=stu;for(int i=0;i<number;i+)cout<<ci.getName()<<" 的排名是: "<<(i+1)<<&quo

17、t; 總分: "<<StuAlli<<endl; ofstream out;out.open("studentscore.txt",ios:out);if(!out)cerr<<" 文件打不開 "<<endl;abort();for(int i=0;i<number;i+)out<<ci.getName()<<" "<<StuAlli<<" "<<(i+1)<<endl; out.

18、close();void Delete(int Mark100100,Student c,int number,int n) string na;cout<<" 請輸入要刪除的學生姓名: "<<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;k<number;k+) Markjk=Markjk+1;elsecout<<&

19、quot; 您要刪除的學生不存在! "<<endl;cout<<" 刪除成功! "<<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;in>>sno>>sname>

20、;>sex;while(!in.eof()i=i+1;ci.setNo(sno); ci.setName(sname); ci.setSex(sex);in>>sno>>sname>>sex;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>>na

21、m;while(!ins.eof()j+;coj.setName(nam);ins>>nam;setN(j+1);ins.close();cout<<" 讀取文件完畢 ,請繼續操作 !"<<endl;主函數:#include"class.cpp"#include<iostream>void showMenue()cout<<"* 學生成績管理系統 *"<<endl;cout<<" 請選擇功能: "<<endl;cout<<"1 輸入學生成績 "<<endl;cout<<"2 根據成績排序輸出。 "<<endl;cout<<"3 顯示成績大于 90 分的學生 "<<endl;cout&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論