C++學生成績管理系統(tǒng)源代碼_第1頁
C++學生成績管理系統(tǒng)源代碼_第2頁
C++學生成績管理系統(tǒng)源代碼_第3頁
C++學生成績管理系統(tǒng)源代碼_第4頁
C++學生成績管理系統(tǒng)源代碼_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、#include<iostream.h>#include<fstream.h>#include<stdlib.h>#include<string.h>#include<stdio.h>class Person public:char name8;class student:public Person /構建學生類public:friend void Manage(student stud) ;friend void Input(student stud) ;friend void Statistic(student stud);fri

2、end void Lookup(student stud) ;friend void Modify(student 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;i

3、nt order;stud100;class Manage:public student;void Write(student stud,int n) /向文件中寫入數(shù)據(jù)fstream myFile;myFile.open("score.txt",ios:out|ios:binary);if(!myFile)cout<<"score.txt can't open!"<<endl;abort();int count=n;myFile<<count<<endl<<endl;for(int i

4、=0;i<=count;i+)myFile<<studi.class_0<<" "<<studi.num<<" "<<<<" "<<studi.c_program<<" "<<studi.english<<" "<<studi.math<<" "<<studi.average<<end

5、l; myFile.close();int Read(student stud) /從文件中讀數(shù)據(jù) fstream myFile; myFile.open("score.txt",ios:in|ios:binary); if(!myFile)cout<<"score.txt can't open!"<<endl;abort(); int count; myFile.seekg(0); myFile>>count; for(int i=0;i<=count;i+) myFile>>studi.c

6、lass_0>>studi.num>>>>studi.c_program>>studi.english>>studi.math >>studi.average; myFile.close(); return count ;void Input(student stud) /-輸入學生成績system("cls"); /*運行前清屏*/int i=0;int flag;char sign;cout<<endl<<">>>>>

7、;>>> 請輸入學生成績 <<<<<<<<n"<<endl;while(sign!='n'&&sign!='N') /*判斷*/ cout<<"班級:" /*交互輸入*/ cin>>studi.class_0; loop:cout<<"學號:" cin>>studi.num;int c=0;while(c<i)c+;if(studi.num=studi-c.num)c

8、out<<"你輸入的學號已經(jīng)存在!請重新輸入!"<<endl;goto loop;cout<<":" cin>>; do flag=0; cout<<"C+成績:" cin>>studi.c_program; if(studi.c_program>100 |studi.c_program<1) cout<<"請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); dof

9、lag=0; cout<<"英語成績:" cin>>studi.english; if(studi.english>100 |studi.english<1) cout<<"請輸入1-100之間的數(shù)字!n" else flag=1;while(flag=0); doflag=0;cout<<"數(shù)學成績:" cin>>studi.math; if(studi.math>100 |studi.math<1) cout<<"請輸入1-1

10、00之間的數(shù)字!n" else flag=1;while(flag=0); studi.average=(studi.c_program+studi.english+studi.math)/3; cout<<"平均分:"<<studi.average<<endl; cout<<"繼續(xù)錄入學生成績?(y/n)" cin>>sign; /*輸入判斷*/ i+; Write(stud,i);void Statistic(student stud) /-統(tǒng)計學生數(shù)據(jù) system("

11、cls"); /*運行前清屏*/ int n=Read(stud);cout<<endl<<">>>>>>>> 顯示學生成績 <<<<<<<<n"<<endl; cout<<"班級"<<"t "<<"學號"<<"t "<<" "<<"t "<

12、;<" 平均分"<<endl;for(int i=0;i<n;i+)cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t "<<studi.average<<endl; system("pause"); void Lookup(student stud) /-查找學生成績 int p; cout<<&quo

13、t;請選擇1.按學號查找 2.按查找"<<endl;cin>>p;if(p=1) system("cls"); /*運行前清屏*/ int n=Read(stud);int s; int i=0;cout<<endl<<">>>>>>>> 查找學生成績 <<<<<<<<n"<<endl;cout<<"請輸入查找學生的學號:"<<endl; cin&

14、gt;>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"沒有該學生的信息!"<<endl; /*輸入失敗信息*/ elsecout<<"-"<<endl; cout<<"班級:"<<studi.class_0<<endl; /*輸出該學生信息*/ cout<<"學號:"<<studi.num<<end

15、l; cout<<":"<<<<endl; cout<<"C+:"<<studi.c_program<<endl; cout<<"英語:"<<studi.english<<endl; cout<<"數(shù)學:"<<studi.math<<endl; cout<<"平均分:"<<studi.average<&l

16、t;endl;if(p=2)system("cls"); /*運行前清屏*/ int m=Read(stud);char t; int i=0;cout<<endl<<">>>>>>>> 查找學生成績 <<<<<<<<n"<<endl;cout<<"請輸入查找學生的:"<<endl; cin>>t; while(strcmp(-t,studi.nam

17、e)=0&&i<m) i+; /*查找判斷*/ cout<<"-"<<endl; cout<<"班級:"<<studi.class_0<<endl; /*輸出該學生信息*/ cout<<"學號:"<<studi.num<<endl; cout<<":"<<<<endl; cout<<"C+:"<<st

18、udi.c_program<<endl; cout<<"英語:"<<studi.english<<endl; cout<<"數(shù)學:"<<studi.math<<endl; cout<<"平均分:"<<studi.average<<endl;void Modify(student stud) /-修改學生成績 system("cls"); /*運行前清屏*/ int n=Read(stud);int

19、 s,a; float q;int i=0;cout<<endl<<">>>>>>>> 修改學生成績 <<<<<<<<n"<<endl;cout<<"輸入修改成績學生的學號:"<<endl; cin>>s; while(studi.num-s)!=0&&i<n) i+; /*查找判斷*/ if(i=n) cout<<"沒有該學生的成績!"

20、;<<endl; /*輸入失敗信息*/ elsecout<<"-該學生的信息-n"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學號 "<<"t"<<""<<"t"<<"c+"<<"t"<<"英語"<<"t&qu

21、ot;<<"數(shù)學"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; cout<<studi.class_0<<"t"<<studi.num<<"t"<<<<"t"<<studi.c_program<<"t"<<stud

22、i.english<<"t"<<studi.math<<"t"<<studi.average<<endl;cout<<"-"<<endl;cout<<"請輸入要修改的課程號"<<endl;cout<<"1.c語言 2.英語 3.數(shù)學"<<endl;cin>>a;cout<<"重新輸入分數(shù)"<<endl;cin&

23、gt;>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<<"-該學生的信息-n"<<endl; /*格式頭*/ cout<<"班級"<<"t"<<"學號 "<<"t"<<"&

24、quot;<<"t"<<"c+"<<"t"<<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<endl;cout<<"-"<<endl; cout<<studi.class_0<<"t"<<studi.num<<

25、;"t"<<<<"t"<<studi.c_program<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<endl; char c; cout<<"是否保存數(shù)據(jù)?(y/n)"<<endl; cin>>c; if(c!='n

26、9;&&c!='N') Write(stud,n);void Insert(student stud) /-增加學生成績 system("cls"); /*運行前清屏*/int n=Read(stud);char s;cout<<endl<<"* 插入學生成績*n"<<endl;while(s!='n'&&s!='N')cout<<"班級:"<<endl; /*交互輸入*/ cin>>

27、studn.class_0; cout<<"學號:" cin>>studn.num; cout<<":" cin>>; cout<<"C+成績:" cin>>studn.c_program; cout<<"英語成績:" cin>>studn.english; cout<<"數(shù)學成績:" cin>>studn.math; studn.average=(stud

28、n.c_program+studn.english+ studn.math)/3; cout<<"平均分"<<studn.average;n+; cout<<"插入成功!"<<endl; /*返回成功信息*/cout<<"是否繼續(xù)輸入(y/n)"<<endl;cin>>s;Write(stud,n); void Manage(student stud) /-按平均分對學生成績記錄項進行降序排序 system("cls"); /*運行

29、前清屏*/ int i,j,k; float s; char t20;cout<<endl<<"* 排列管理成績 *n"<<endl;int n=Read(stud);for(i=0;i<n-1;i+) /*冒泡法排序*/ for(j=0;j<n-1-i;j+) if(studj.average<studj+1.average) strcpy(t,studj+1.class_0); strcpy(studj+1.class_0,studj.class_0); strcpy(studj.class_0,t); k=stud

30、j+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.math=studj

31、.math; s=studj+1.average; studj+1.average=studj.average; studj.average=s; cout<<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t "<<"學號"<<"t "<<""<<"t"<<"C+"<<"t"<

32、;<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<"t"<<"名次"<<endl; for(i=0;i<n;i+) /*循環(huán)輸入*/ studi.order=i+1;cout<<studi.class_0<<"t"<<studi.num<<"t"<<s

33、<<"t"<<studi.c_program<<"t"<<studi.english<<"t"<<studi.math<<"t"<<studi.average<<"t "<<studi.order<<endl; Write(stud,n);void Output(student stud) /-顯示全部學生成績 system("cls&q

34、uot;); /*運行前清屏*/int n=Read(stud);cout<<"* 顯示班級學生成績 *n"<<endl;if(!stud)cout<<"沒有記錄" elsecout<<"-"<<endl; /*格式頭*/ cout<<"班級"<<"t "<<"學號"<<"t "<<""<<"t&

35、quot;<<"c+"<<"t"<<"英語"<<"t"<<"數(shù)學"<<"t"<<"平均分"<<endl;for(int i=0;i<n;i+) /*循環(huán)輸入*/ cout<<studi.class_0<<"t"<<studi.num<<"t"<<studi.

36、name<<"t"<<studi.c_program<<"t "<<studi.english<<"t " <<studi.math<<"t"<<studi.average<<endl; cout<<"-"<<endl; int menu() /*菜單函數(shù)*/ char c; do system("cls"); /*運行前清屏*/ cout<<"*n"<<endl; cout<<" -歡送使用學生成績管理系統(tǒng)-n"<<endl; cout<<" $"<<endl; cout<<" * 【1】輸入學生成績 * "<<endl; cout<<" * 【2】顯示學生成績 * "<<endl; cout<<" * 【3】查找學生成績 * "<<end

溫馨提示

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

評論

0/150

提交評論