C++簡單學生成績管理系統(tǒng)C++課程設計_第1頁
C++簡單學生成績管理系統(tǒng)C++課程設計_第2頁
C++簡單學生成績管理系統(tǒng)C++課程設計_第3頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C+學生成績管理系統(tǒng)要求用C+語言編寫學生成績管理系統(tǒng),要求能進行添加刪除修改輸入輸出等的制作,并能使用面相對像原 理對此系統(tǒng)進行實現(xiàn)。學生成績管理系統(tǒng)分析:學生成績管理系統(tǒng)分為 8個模塊,分別是:添加學生信息,輸出學生成績,查找學生成績,修改學生成績, 刪除學生成績,學生成績排序,保存數(shù)據(jù)到文件和讀取文件中學生成績的模塊。.學生成績管理系統(tǒng)結構:各個子函數(shù)功能及其進程安排:1.第一步定義一個學生類Class Stude nt。并定義其各個私有變量和公有函數(shù)2. Student ()。構造函數(shù),用于初始化學生類中的各個變量并記錄3. Add()。函數(shù):用于添加學生信息的函數(shù)包括學號姓名成績等的

2、內容4. Output ()。函數(shù):用于輸出學生信息,包括學號姓名各科及總分平均成績5. Find ()。函數(shù):用于查找學生各項信息。6. modify。;函數(shù)7. delete。;函數(shù): 用于刪除學生信息。8.save()和load();函數(shù):將學生信息保存到文件中,并在需要的時候調用該文件將其中的學生信息顯示出來9.“ =”“ <<”符號的重載:在各個函數(shù)處理數(shù)據(jù)過程中對這些的調用處理函數(shù)源代碼:此函數(shù)源代碼在 VisualC+6.0環(huán)境下編譯通過。具體如下:#i nclude"iostream.h"#i nclude"con io.h"

3、#i nclude"ioma nip.h"#i nclude"stdio.h"#in clude"stri ng.h"#i nclude"stdlib.h"#i nclude"fstream.h"class stude nt /定義學生類private:/定義學生類的私有成員char name20; / 名字char sex5; / 性別int nu mber; / 學號int score3; / 分數(shù)int total; / 總分int average; / 平均分public: /公有成員s

4、tude nt(); /學生構造函數(shù),用于學生數(shù)據(jù)的初始化及保存學生數(shù)據(jù)void add(); /添加學生信息函數(shù)void output(); /輸出學生信息函數(shù)void find(); /查找學生數(shù)據(jù)函數(shù)void modify(); /修改學生信息函數(shù)void deleted(); /刪除學生信息函數(shù)void sort(); / 排序函數(shù)void save(); 保存學生信息并寫入文件函數(shù)void load (); /打開寫有學生信息的文件的函數(shù)student & operator=(student & T); / 重載“=”符號friend istream & op

5、erator >> (istream & scin, stude nt &s1); /重載“ >> ”符號.friend ostream & operator << (ostream & scout, stude nt &s2); /重載“ >> ”符號;student stu100;int n=0;void student:add() / 添加函數(shù)char flag='Y'while(toupper(flag)='Y')cin>>stun;n+;cout<

6、<" 要繼續(xù)添加嗎 (y/n)"cin>>flag; if(toupper(flag)!='Y')if(toupper(flag)='N')break;elsecout<<" 不對,請重輸: " cin>>flag;void student:output() / 輸出函數(shù)if(n!=0)cout<<" n".averagen"cout<<" number name sex math C+ English total c

7、out<<" n".for(int t=0;t<n;t+) cout<<stut;getch();void student:find() / 查找函數(shù)int f3=0;char n120;student temp;cout<<" 輸入你要查找的人的姓名 : "cin>>n1;for(int j=0;j<n;j+)if(strcmp(,n1)=0) temp=stuj; f3=1;if(f3=0)cout<<" 對不起,沒有你要查找的學生成績 "&

8、lt;<endl; elsecout<<" n"cout<<" number name sex math C+ English total averagen" .cout<<" n"cout<<" "<<temp.number<<" "<<<<" "<<temp.sex<<" "<<temp.score

9、0 .<<" "<<temp.score1<<" "<<temp.score2<<" "<<temp.total<<" "<<temp.average<<endl; getch();void student:modify() / 修改函數(shù)int f4=0;int t;char n250;cout<<" 輸入你要修改的人的姓名 :"cin>>n2;for(int j=

10、0;j<n;j+) if(strcmp(,n2)=0)t=j; f4=1; if(f4=0)cout<<" 對不起,沒有你要修改的學生成績 "<<endl;elsecout<< " 請輸入學號 : " cin>>stut.number;cout<< " 姓名 : " cin>>;cout<< " 性別 : " cin>>stut.sex;cout<< " 數(shù)

11、學成績 : " cin>>stut.score0;cout<< " C+ 成績: " cin>>stut.score1;cout<< " 英語成績 : " cin>>stut.score2; stut.total=stut.score0+stut.score1+stut.score2; . stut.average=stut.total/3;cout<<" 修改成功 !"<<endl;getch();void student:deleted(

12、) / 刪除函數(shù)char n320;bool f5=0;char c;docout<<" 請輸入您要刪除的學生姓名: " cin>>n3;for(int i=0;i<n;i+) if(strcmp(n3,)=0)f5=1;n-;do stui=stui+1; i+;while(i<=n); if(f5=0)cout<<" 您要求刪除的對象本來就不存在! " cout<<" 要繼續(xù)刪除嗎? (y/n)"<<endl;cin>>c; if

13、(toupper(c)!='Y'&&toupper(c)!='N')cout<<" 輸入指令不對!請重新輸入 Y 或 N! "<<endl; cin>>c;while(toupper(c)='Y'); getch();void student:sort() / 排序函數(shù)int i,j,k;student s3;for( i=0;i<(n-1);i+)k=i;for(j=i+1;j<n;j+)if(stuj.average>stui.average)k=j;i

14、f(k!=i)s3=stui;stui=stuk;stuk=s3;cout<<"nn 排序成功 !nn"void student:save() / 保存函數(shù)char filename120;cout<<" 請輸入文件名 : "cin>>filename1;ofstream fout(filename1,ios:app);if(!fout)cout<<" 文件不能打開 !"<<endl;elsefor(int i=0;i<n;i+)fout<<' &#

15、39;<<<<' '<<stui.sex<<' '<<stui.number<<' ' .<<stui.score0<<' '<<stui.score1<<' '<<stui.score2<<' '<<stui.total<<' '<<stui.average<<' &

16、#39; cout<<" 保存成功 !"<<endl;fout.close();getch();void student:load() / 讀取函數(shù)char filename220;cout<<"請輸入你要讀取的文件名:";cin>>filename2;ifstream fin(filename2,ios:in);if(!fin)cout<<" 文件打不開 !"<<endl;elsefor(int i=0;i+,n=i-1)if(fin.eof()break;CT

17、GS-資料文件fin>>>>stui.sex>>stui.number >>stui.score0>>stui.score1>>stui.score2>>stui.total>>stui.average; .cout<<" 文件已讀取成功 !"<<endl;fin.close();getch();student & student:operator=(student & T) / 重載 =strcpy(name,T.nam

18、e);strcpy(sex,T.sex);number=T.number;for(int i=0;i<3;i+)scorei=T.scorei;total=T.total;average=T.average;return ( * this );ostream & operator << (ostream & scout, student &s2) / 重載 << .cout<<setw(6)<<s2.number<<setw(10)<<<<setw(8)<<

19、;s2.sex<<setw(8)<<s2.score0 . <<setw(8)<<s2.score1<<setw(10)<<s2.score2<<setw(10)<<s2.total<<setw(8)<<s2.average<<endl; return scout;istream & operator >> (istream & scin,student &s1) / 重載 >> .cout<< &quo

20、t; t 學號 :"scin>>s1.number;cout<< " t 姓名 :"scin>>;cout<< " t 性別 :"scin>>s1.sex;cout<< " t 數(shù)學成績 :"scin>>s1.score0;cout<< " tC+ 成績 :"scin>>s1.score1;cout<< " t 英語成績 :"scin>>s1

21、.score2;s1.total=s1.score0+s1.score1+s1.score2;s1.average=s1.total/3;return scin;student:student() / 構造函數(shù)strcpy(name," ");strcpy(sex," ");number=0;for(int i=0;i<3;i+)scorei=0;total=0; average=0;void menu() / 菜單函數(shù)"<<endl;cout<<"nnn 學生成績管理系統(tǒng)主菜單 cout<<"nnn1. 添加學生信息 "<<endl; cout<<"2. 輸出學生信息

溫馨提示

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

評論

0/150

提交評論