C++簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
C++簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)_第2頁(yè)
C++簡(jiǎn)單學(xué)生成績(jī)管理系統(tǒng)_第3頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、.C+ 學(xué)生成績(jī)管理系統(tǒng)要求用 C+ 語(yǔ)言編寫學(xué)生成績(jī)管理系統(tǒng), 要求能進(jìn)行添加刪除修改輸入輸出等的操作,并能使用面相對(duì)像原理對(duì)此系統(tǒng)進(jìn)行實(shí)現(xiàn)。學(xué)生成績(jī)管理系統(tǒng)分析:學(xué)生成績(jī)管理系統(tǒng)分為 8 個(gè)模塊,分別是:添加學(xué)生信息,輸出學(xué)生成績(jī),查找學(xué)生成績(jī),修改學(xué)生成績(jī), 刪除學(xué)生成績(jī), 學(xué)生成績(jī)排序,保存數(shù)據(jù)到文件和讀取文件中學(xué)生成績(jī)的模塊。學(xué)生成績(jī)管理系統(tǒng)結(jié)構(gòu):Main() 函數(shù)Menu() 函數(shù)Student()Add()Output()Student 類Find()私有成員:char name20;Modify()char sex5;公有函數(shù)int number;Deleted()int sc

2、ore3;int total;Sort()int average;Save()Load()重載符號(hào)可編輯范本.各個(gè)子函數(shù)功能及其流程:1. 首先定義一個(gè)學(xué)生類 Class Student;并定義其各個(gè)私有變量和公有函數(shù)Class Student私有變量Claoufindemsalo重asdtpdletodvead載sduteify2. Student();構(gòu)造函數(shù),用于初始化學(xué)生類中的各個(gè)變量并記錄3. Add ();函數(shù):用于添加學(xué)生信息的函數(shù)包括學(xué)號(hào)姓名成績(jī)等的內(nèi)容主函數(shù) main()菜單函數(shù)menu()選擇菜單中的選項(xiàng)添加學(xué)生信息調(diào)用 Add ()函數(shù)調(diào)用重載 << 并添加信

3、息4. Output ();函數(shù):用于輸出學(xué)生信息,包括學(xué)號(hào)姓名各科及總分平均成績(jī)主函數(shù) main()菜單函數(shù) menu()選擇菜單中的選項(xiàng)輸出學(xué)生信息調(diào)用 Output()函數(shù)輸出學(xué)生信息可編輯范本.5. Find ();函數(shù):用于查找學(xué)生各項(xiàng)信息。主函數(shù) main()菜單函數(shù) menu()選擇菜單中的選項(xiàng)查找學(xué)生信息調(diào)用 find ()函數(shù)要求輸入學(xué)生姓名查找并輸出學(xué)生信息6. modify(); 函數(shù):用于修改學(xué)生各項(xiàng)信息。主函數(shù) main()菜單函數(shù) menu()選擇菜單中的選項(xiàng)修改學(xué)生信息調(diào)用 modify ()函數(shù)要求輸入學(xué)生姓名修改并保存學(xué)生信息7. delete();函數(shù):用于

4、刪除學(xué)生信息??删庉嫹侗?主函數(shù) main()菜單函數(shù) menu()選擇菜單中的選項(xiàng)刪除學(xué)生信息調(diào)用 delete()函數(shù)要求輸入學(xué)生姓名刪除學(xué)生信息8.sort();函數(shù):對(duì)學(xué)生各項(xiàng)信息進(jìn)行排序操作。主函數(shù) main()菜單函數(shù)menu()選擇菜單中的選項(xiàng)學(xué)生信息排序調(diào)用 Sort()函數(shù)完成排序操作8. save()和 load();函數(shù):將學(xué)生信息保存到文件中,并在需要的時(shí)候調(diào)用該文件將其中的學(xué)生信息顯示出來(lái)可編輯范本.主函數(shù) main()菜單函數(shù)menu()選擇菜單中的選項(xiàng)調(diào)用 save()函數(shù)選保存或讀取調(diào)用 load()函數(shù)按要求輸入文件名文件讀取成功文件保存成功9.“ = ”“

5、<< ”“ >> ”符號(hào)的重載:在各個(gè)函數(shù)處理數(shù)據(jù)過(guò)程中對(duì)這些的調(diào)用處理函數(shù)源代碼 :此函數(shù)源代碼在VisualC+6.0 環(huán)境下編譯通過(guò)。具體如下:#include"iostream.h"#include"conio.h"#include"iomanip.h"#include"stdio.h"#include"string.h"#include"stdlib.h"#include"fstream.h"class student /

6、 定義學(xué)生類private:/ 定義學(xué)生類的私有成員char name20; / 名字char sex5; / 性別int number; / 學(xué)號(hào)int score3; / 分?jǐn)?shù)int total; / 總分int average; / 平均分public: / 公有成員student(); / 學(xué)生構(gòu)造函數(shù),用于學(xué)生數(shù)據(jù)的初始化及保存學(xué)生數(shù)據(jù) void add(); / 添加學(xué)生信息函數(shù)void output(); / 輸出學(xué)生信息函數(shù)void find(); /查找學(xué)生數(shù)據(jù)函數(shù)void modify(); /修改學(xué)生信息函數(shù)void deleted(); / 刪除學(xué)生信息函數(shù)void s

7、ort(); / 排序函數(shù)void save(); / 保存學(xué)生信息并寫入文件函數(shù)void load (); / 打開寫有學(xué)生信息的文件的函數(shù)可編輯范本.student & operator=(student & T); /重載“ = ”符號(hào)friend istream & operator >> (istream & scin, student &s1); / 重載“ >> ”符號(hào) friend ostream & operator << (ostream & scout, student &

8、s2); / 重載“ >> ”符號(hào);student stu100;int n=0;void student:add() / 添加函數(shù)char flag='Y'while(toupper(flag)='Y')cin>>stun;n+;cout<<"要繼續(xù)添加嗎 (y/n)"cin>>flag;if(toupper(flag)!='Y')if(toupper(flag)='N')break;elsecout<<" 錯(cuò)誤,請(qǐng)重輸:"cin

9、>>flag;void student:output() / 輸出函數(shù)if(n!=0)cout<<" -n"cout<<"numbernamesexmathC+Englishtotalaveragen"cout<<" - n"for(int t=0;t<n;t+)cout<<stut;getch();可編輯范本.void student:find() / 查找函數(shù)int f3=0;char n120;student temp;cout<<"輸入你要

10、查找的人的姓名: "cin>>n1;for(int j=0;j<n;j+)if(strcmp(,n1)=0)temp=stuj;f3=1;if(f3=0)cout<<" 對(duì)不起,沒(méi)有你要查找的學(xué)生成績(jī)"<<endl;elsecout<<" -n"cout<<" number name sex math C+ English total averagen"cout<<" - n"cout<<"

11、; "<<temp.number<<" "<<<<" "<<temp.sex<<" "<<temp.score0<<""<<temp.score1<<""<<temp.score2<<""<<temp.total<<""<<temp.average&l

12、t;<endl;getch();void student:modify() / 修改函數(shù)int f4=0;int t;char n250;cout<<"輸入你要修改的人的姓名:"cin>>n2;for(int j=0;j<n;j+)if(strcmp(,n2)=0)t=j;f4=1;可編輯范本.if(f4=0)cout<<" 對(duì)不起,沒(méi)有你要修改的學(xué)生成績(jī)"<<endl;elsecout<< " 請(qǐng)輸入學(xué)號(hào) : "cin>>stut.

13、number;cout<< "姓名 : "cin>>;cout<< "性別: "cin>>stut.sex;cout<< "數(shù)學(xué)成績(jī) : "cin>>stut.score0;cout<< " C+成績(jī) : "cin>>stut.score1;cout<< "英語(yǔ)成績(jī) : "cin>>stut.score2;stut.total=stut.score0+stut

14、.score1+stut.score2;stut.average=stut.total/3;cout<<"修改成功!"<<endl;getch();void student:deleted() / 刪除函數(shù)char n320;bool f5=0;char c;docout<<" 請(qǐng)輸入您要?jiǎng)h除的學(xué)生姓名:"cin>>n3;for(int i=0;i<n;i+)if(strcmp(n3,)=0)f5=1;n-;dostui=stui+1;i+;while(i<=n);if(f5=

15、0)cout<<" 您要求刪除的對(duì)象本來(lái)就不存在!"可編輯范本.cout<<" 要繼續(xù)刪除嗎?(y/n)"<<endl;cin>>c;if(toupper(c)!='Y'&&toupper(c)!='N')cout<<" 輸入指令錯(cuò)誤!請(qǐng)重新輸入Y 或 N !"<<endl;cin>>c;while(toupper(c)='Y');getch();void student:sort() /

16、 排序函數(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;if(k!=i)s3=stui;stui=stuk;stuk=s3;cout<<"nn排序成功 !nn"void student:save() / 保存函數(shù)char filename120;cout<<" 請(qǐng)輸入文件名 : "cin>>filename1;ofstream fout(filename1,i

17、os:app);if(!fout)cout<<" 文件不能打開!"<<endl;elsefor(int i=0;i<n;i+)fout<<' '<<<<' '<<stui.sex<<' '<<stui.number<<' '<<stui.score0<<' '<<stui.score1<<' '<

18、<stui.score2<<' '<<stui.total<<' '<<stui.average<<' '可編輯范本.cout<<" 保存成功 !"<<endl;fout.close();getch();void student:load() / 讀取函數(shù)char filename220;cout<<" 請(qǐng)輸入你要讀取的文件名: "cin>>filename2;ifstream fin(file

19、name2,ios:in);if(!fin)cout<<" 文件打不開!"<<endl;elsefor(int i=0;i+,n=i-1)if(fin.eof()break;fin>>>>stui.sex>>stui.number>>stui.score0>>stui.score1>>stui.score2>>stui.total>>stui.average;cout<<" 文件已讀取成功!"<<

20、;endl;fin.close();getch();student & student:operator=(student & T) /重載 =strcpy(name,T.name);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) /重載 <

21、;<cout<<setw(6)<<s2.number<<setw(10)<<<<setw(8)<<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;可編輯范本.istre

22、am & operator >> (istream & scin,student &s1) / 重載 >> cout<< " t學(xué)號(hào) :"scin>>s1.number;cout<< " t姓名 :"scin>>;cout<< " t性別:"scin>>s1.sex;cout<< " t數(shù)學(xué)成績(jī) :"scin>>s1.score0;cout<< &

23、quot; tC+成績(jī) :"scin>>s1.score1;cout<< " t英語(yǔ)成績(jī) :"scin>>s1.score2;s1.total=s1.score0+s1.score1+s1.score2;s1.average=s1.total/3;return scin;student:student() / 構(gòu)造函數(shù)strcpy(name," ");strcpy(sex," ");number=0;for(int i=0;i<3;i+)scorei=0;total=0;average=0;void menu() / 菜單函數(shù)cout<<"nnn學(xué)生成績(jī)管理系統(tǒng)主菜單"<<end

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論