C++學(xué)生成績(jī)統(tǒng)計(jì)管理系統(tǒng)_第1頁(yè)
C++學(xué)生成績(jī)統(tǒng)計(jì)管理系統(tǒng)_第2頁(yè)
C++學(xué)生成績(jī)統(tǒng)計(jì)管理系統(tǒng)_第3頁(yè)
C++學(xué)生成績(jī)統(tǒng)計(jì)管理系統(tǒng)_第4頁(yè)
C++學(xué)生成績(jī)統(tǒng)計(jì)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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、信計(jì)0901班譚鄱侖湖南科技學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:計(jì)算機(jī)高級(jí)語(yǔ)言(C+)課程設(shè)計(jì)課程設(shè)計(jì)題目:學(xué)生通訊管理系統(tǒng)系:數(shù)學(xué)與計(jì)算科學(xué)系專 業(yè):信息與計(jì)算科學(xué)年級(jí)、班:信計(jì)0801姓名:譚鄱侖學(xué)號(hào):200905002109指導(dǎo)教師:牛志毅職稱:講師201()年 12 月目錄課程實(shí)驗(yàn)報(bào)告3、vf3二、概要設(shè)計(jì)3三、程序?qū)崿F(xiàn)思路7四、設(shè)計(jì)總結(jié)7五、參考文獻(xiàn)716六、源代碼8七、運(yùn)行情況信計(jì)0901班譚都侖C+語(yǔ)言程序設(shè)計(jì)報(bào)告一、需求分析用C+編寫(xiě)下面程序?qū)W生成績(jī)統(tǒng)計(jì)管理系統(tǒng)(*)要求實(shí)現(xiàn)如下功能:成績(jī)的輸入(學(xué)號(hào)、姓名、英語(yǔ)、數(shù)學(xué)、C+語(yǔ)言)。成績(jī)統(tǒng)計(jì)(各科平均成績(jī)、各科成績(jī)“優(yōu)秀”、“良好”、“中

2、等”、“及格”、“不及格”的人數(shù)及其所占比例)??偝煽?jī)統(tǒng)計(jì)(學(xué)生的總成績(jī)、平均成績(jī)及成績(jī)排名)。成績(jī)的統(tǒng)計(jì)結(jié)杲顯示。學(xué)生數(shù)據(jù)的添加、修改、與刪除。學(xué)生數(shù)據(jù)的讀取與存儲(chǔ)。二、概要設(shè)計(jì)主要數(shù)據(jù)定義以及各程序模塊的功能:Student 類中:class Studentprivate:int id學(xué)號(hào)string namu;姓名double score 3;int x; 指示是否存儲(chǔ)了數(shù)據(jù)double: all;總成績(jī)int rank;名次string dungji; 等級(jí)public:StuduntO;/構(gòu)造函數(shù)void SutSmdunHD(int);輸入學(xué)生學(xué)號(hào)ini StuduntIDO; 返

3、回學(xué)生學(xué)號(hào)void SctStudcntNamc(string str);輸入學(xué)生姓各string StuduntNamu。;/返回學(xué)生姓名void SctSvudcntSc()rc(d()ublc y,double s»d()ublc c);/輸入學(xué)生成績(jī)double StuduntYscoruO;/返回學(xué)生英語(yǔ)成績(jī)double StuduntSscoruO,/返回學(xué)生數(shù)序成績(jī)double StuduntCscoruO;返回學(xué)生 C+成績(jī)void SctSiudcntX(intn);給判定學(xué)生數(shù)據(jù)存在與否的X賦值void Gut疝0;計(jì)算學(xué)生總成績(jī)void SetRankO;給學(xué)生

4、各次值加1int Rank。;/返回學(xué)生名次值int StudmtXO;返回判定X的值,判定是否修改void RankC&rO;給學(xué)生的名次賦值為1void Sctdcngji(string dungji);輸入等級(jí)double AHO;返回學(xué)生總成績(jī)string SEduiiiDungjiO;/返回學(xué)生等級(jí)值;Smdenrifo 類中:class Studcnrif()private:intnum;/學(xué)生個(gè)數(shù)Student *stu;定義指向存儲(chǔ)學(xué)生類的指針public:Studuntifb(int 11);/構(gòu)造函數(shù)void LoadlD(imn);/輸入學(xué)生學(xué)號(hào)void Load

5、Nam«int >stringname);輸入學(xué)生姓名void LoadScor«int ,doub匕double,double);輸入學(xué)生各科成績(jī)void SuHR)0;插入學(xué)生數(shù)據(jù)void PutifoO;/輸出所有學(xué)生數(shù)據(jù)void QuarO;清除所有學(xué)生數(shù)據(jù)void PutIDO;/輸出指定學(xué)生數(shù)據(jù)void CluarlDO;刪除指定學(xué)生數(shù)據(jù)void MakuRankO;/給所有學(xué)生排名void RuSutifoO;修改指定學(xué)生數(shù)據(jù)void QsrRankO;給指定學(xué)生的名次值賦為1void MakuA%;計(jì)算各個(gè)學(xué)生的總成績(jī)void PutifoRankO;

6、按名次輸出所有學(xué)生數(shù)據(jù)ini ID(imn);/返回學(xué)生學(xué)號(hào)double Yscoru(int);/返回學(xué)生英語(yǔ)成績(jī)double Sscoru(int);返回學(xué)生教學(xué)成績(jī)double Cscoru(int);/返回學(xué)生 C+成績(jī)double StuduntAH(int n);返回學(xué)生總成績(jī)ini Studcntlbuik(int n);/返回學(xué)生各次string Namc(int);/返回學(xué)生各次intX(int);指定X值,確定是否有存儲(chǔ)數(shù)據(jù)string Dungji(ini n);返回學(xué)生等級(jí)void NumaddQ;/num 值加 1void Xfix(int);/將指定學(xué)生的X指示值賦

7、為1Stuckntifo();析構(gòu)函數(shù)釋放new創(chuàng)建的空間;類外:void D(>Mcnu(int n,Studmtifb*t);/將類里的各個(gè)函數(shù)組合起來(lái)實(shí)現(xiàn)各個(gè)功能,按指定數(shù) 宇執(zhí)行void Load(Studcntif(> *S);/從文件中載入學(xué)生信息void Savc(Sludcntifo *S);將學(xué)生信息保存到文件void ShowTipO; /顯示操作提示void ShowMciiuO; /顯示菜單主函數(shù)的程序流程圖信計(jì)0901班譚都侖結(jié)束三程序?qū)崿F(xiàn)思路本程序通過(guò)Smdcniifo類開(kāi)辟一個(gè)Student的類數(shù)組用已儲(chǔ)存學(xué)生數(shù)據(jù)。通過(guò)Stiidcniifo 類的公有

8、函數(shù)和Student的公有函數(shù)進(jìn)行關(guān)聯(lián),對(duì)Student類里的私有學(xué)生數(shù)據(jù)進(jìn)行操作,達(dá) 到輸入,處理,輸出學(xué)生數(shù)據(jù)的功能。同時(shí)利用文件輸入輸出流在項(xiàng)目文件夾中創(chuàng)建一個(gè) datc.txt文檔進(jìn)行學(xué)生數(shù)據(jù)的保存與讀取。四設(shè)計(jì)總結(jié)(1)擺正心態(tài),不心浮氣髀剛拿到題目,難免會(huì)覺(jué)得特別迷茫,無(wú)從下手,這時(shí)如果心浮氣躁則會(huì)更加的覺(jué)得 困難重重。但當(dāng)我擺正心態(tài),靜小心來(lái)慢慢思考的時(shí)候,一個(gè)個(gè)的思脂不斷的的冒出,頭腦 中的想法遠(yuǎn)比實(shí)踐過(guò)的多。此時(shí),困難已不是從何下手,而是如何下手會(huì)是程序更趨完美。(2) 一鼓作氣,個(gè)個(gè)擊破一旦開(kāi)始了編程后,就要一鼓作氣的繼續(xù)下去。選擇個(gè)個(gè)擊破,然后將所有的程序在組 合起來(lái),很

9、快主程序的雛形就能展現(xiàn)出來(lái),接下來(lái)的就只是一點(diǎn)點(diǎn)的修改關(guān)聯(lián)是的小錯(cuò)誤了 0 用不了多久任務(wù)即可完成,特有成就感。但是如果斷斷續(xù)續(xù)的則會(huì)在每次編的時(shí)候被冗雜而 繁多的定義弄糊涂,從而沒(méi)有心情繼續(xù)下去。有目的地修改、完善運(yùn)行時(shí)會(huì)出現(xiàn)一些錯(cuò)誤,但我發(fā)現(xiàn)其實(shí)里面的參數(shù)并不宜雜,只要跟著那個(gè)error的提 示,一個(gè)一個(gè)的改下去,其實(shí)很簡(jiǎn)單的。結(jié)果事實(shí)也是如此,看完書(shū)后,只用了一個(gè)小時(shí)多 一點(diǎn),102個(gè)錯(cuò)誤全部搞定了。錯(cuò)誤幾乎為以下三類:1 .冒號(hào),分號(hào)等符號(hào)打錯(cuò)了;2 .大小寫(xiě)等造成的對(duì)應(yīng)問(wèn)題;3 .變皇的不完全修改。改完以后,在執(zhí)行時(shí)我發(fā)現(xiàn)界面不好看,于是我又將主界面略加修改了些??瓷先ッ?觀了不少。

10、再運(yùn)行功能,前四個(gè)都能順利運(yùn)行,但對(duì)百分比餅狀圖我傻眼了。不管我輸入數(shù) 據(jù)與否,輸入了什么數(shù)據(jù),結(jié)果都是一樣的,相當(dāng)離譜。我又糊涂了,搞不清是怎么回事。 于是,又去問(wèn)同學(xué),在他們的幫助下,成功解決這個(gè)問(wèn)題,在此真要好好謝謝他們!終于大功告成!欣慰在這次實(shí)踐中,我不僅彌補(bǔ)了自己在C+課上所落下的內(nèi)容,尤其是指針那塊部分,雖然現(xiàn)在概念搞的還不是很懂,但看見(jiàn)程序是能夠理解的。這次C+ 實(shí)踐是給我們這一學(xué)期來(lái)所學(xué)知識(shí)的一個(gè)總電習(xí),總的實(shí)踐。它讓我們把所知道的知識(shí)點(diǎn)運(yùn) 用的更好,把不知道的知識(shí)點(diǎn)搞得明白了。實(shí)踐出真知,通過(guò)這次實(shí)踐,我也系統(tǒng)的把課本 好好的回顧了下。猛然覺(jué)得,C+二級(jí)考試也有些把握了。五

11、參考文獻(xiàn)譚浩強(qiáng).C+程序設(shè)計(jì).清華大學(xué)出版社,2007.5六源程序maiikcpp課程設(shè)計(jì)題目:學(xué)生信息管理系統(tǒng)班級(jí):0901學(xué)號(hào):200905(X)2109姓名:譚鄙侖#includcHstudcni.hnint mainOint i=0;char ok;Studcntifi) stuif();Studcntifx) *i&)=&stuifb;ShowMcnuf);COUtVV”選擇對(duì)應(yīng)數(shù)字進(jìn)行操作信計(jì)0901班譚鄱侖while(il=9)cin>>i;systcmf'cls'1);ShowMcnuO;DoMcnu(i,ifo);ShowTipO;

12、coutvv”數(shù)據(jù)已改動(dòng),是否保存Y/N”; cin>>ok;if(ok=V| |ok=yl)if()->MakcAll();if()->ClcarRankO;if()->MakcRank();Savc(ifc);cwvv”數(shù)據(jù)已保存按任意鍵安全退出”;elsecoutv v”已安全退出按任意鍵返回”;Student.h#ifndcfSTUDENT_HNCLUDED#dcfinc STUDENT_HNCLUDED#includc<iosvrcam>#includc<cstdlib>#includc<string>#includc

13、< fstrcam >#includc<sstrcam>#includc<iomanip>using namespace std;class Studentprivate:int id; 學(xué)號(hào)string name,/ 姓 名double score 3;ini x; 指示是否存儲(chǔ)了數(shù)據(jù)double all;/總成績(jī)int rank;名次string dengji; 等級(jí)public:Studmi。; 構(gòu)造函數(shù)信計(jì)0901班譚都侖void SctSvudcnil D (int);輸入學(xué)生學(xué)號(hào)inv Student】 D0;返回學(xué)生學(xué)號(hào)void SciSi-u

14、dcntNamc(stringsir);/輸入學(xué)生姓名string S tudcniN amc。;返回學(xué)生姓名void SctStudcntScorc(doublc y,double s,double c);/輸入學(xué)生成績(jī)double StudentYscorc。;返回學(xué)生英語(yǔ)成績(jī)double StudcntSscorc。;返回學(xué)生數(shù)序成績(jī)double StudcniCscorcO;/返回學(xué)生 C+成績(jī)void SciStudcntX(inin);給判定學(xué)生數(shù)據(jù)存在與否的X賦值void GctallO;計(jì)算學(xué)生總成績(jī)voidSciRank。; 給學(xué)生名次值力口 1ini Rank。;返回學(xué)生名

15、次值ini StudcniX。;/返回判定X的值,判定是否修改void RankClearOJ/給學(xué)生的名次賦值為1void Sctdcngji(string dengji);/輸入等級(jí)double Al。返回學(xué)生總成績(jī)string StudentDengji。; 返回學(xué)生等級(jí)值;class Studentifoprivate:im num; 學(xué)生個(gè)數(shù)Student *stu;定義指向存儲(chǔ)學(xué)生類的指針public:Studcntifo(ini n); 構(gòu)造函數(shù)void LoadID(int n);輸入學(xué)生學(xué)號(hào)void LoadNamc(ini,siring name);輸入學(xué)生姓名void L

16、oadScorc(int .double,double,double);/輸入學(xué)生各科成績(jī)void SctifoO;插入學(xué)生數(shù)據(jù)void Putif()0;輸出所有學(xué)生數(shù)據(jù)void Clear。;/清除所有學(xué)生數(shù)據(jù)void PutlDO;輸出指定學(xué)生數(shù)據(jù)void Clcarl DO;刪除指定學(xué)生數(shù)據(jù)void MakcRankO;/給所有學(xué)生排名void ReSetifo。;修改指定學(xué)生數(shù)據(jù)void C&rRankO;給指定學(xué)生的名次值減為1void MakcA%;計(jì)算各個(gè)學(xué)生的總成績(jī)void PuiifoRankO;按名次輸出所有學(xué)生數(shù)據(jù)ini ID(intn); 返回學(xué)生學(xué)號(hào)doub

17、le YscorcQnt); 返回學(xué)生英語(yǔ)成績(jī)double Ssccrc(ini);/返回學(xué)生數(shù)學(xué)成績(jī)double Cscorc(ini);返回學(xué)生 C+成績(jī)double StudcniAH(ini n);/返回學(xué)生總成績(jī) int SiudcntRank(int n); 返回學(xué)生名次 string Namc(int); 返回學(xué)生名次iniX(int);/指定X值,確定是否有存儲(chǔ)數(shù)據(jù)string Dcngji(int n); 返回學(xué)生等級(jí)void NumaddO;/num 值加 1void XRx(int),/將指定學(xué)生的X指示值賦為1ShidcnvifoO;析構(gòu)函數(shù)釋放new創(chuàng)建的空間;voi

18、d DoMcnu(ini 1)511113比。*1:);/將類里的各個(gè)函數(shù)組合起來(lái)實(shí)現(xiàn)各個(gè)功能, 按指定數(shù)字執(zhí)行void Load(Studcntifo *S);從文件中載入學(xué)生信息void Savc(SmdcntifQ *S);將學(xué)生信息保存到文件void ShowTipO; 顯示操作提示void ShowMenuO; /顯示菜單#includcustudcntifo.h"#cndif / STUPENT_H_INCLUD EDStudentifb.h#ifhdufSTUDENTIFO_HNCLUDED#dcfinc STUDENT3FO_HNCLUDED bool flag=fa

19、lsc ;數(shù)據(jù)是否修改過(guò)的標(biāo)志 Stiidcnt:StiidciitQ id=0; namc=HM;scorc0=0;scorcl=0;scorc2=0;x=2;all=0;raiik= 1;dcngji='M,;void Stiidcnt:SctStudcniir)(int n)id=n;void Stiidcnt:SctStudcntNamc(string str)if(str=',OH)string strl;COuKV”輸入姓名:»cin>>strl;this->namc=strl;elsethis->namc=str;void Sti

20、idcDt:SctStudcntSc()rc(d()ublc yd()ublc s»d()ublc c)if(y!=O|s!=O|c!=O)scorc0=y;scorcl=s;scorc2=c;elsedouble a,b,c;信計(jì)0901班譚鄱侖cout<v”輸入英語(yǔ)成績(jī):cin»a;coutvv”輸入數(shù)學(xué)成績(jī):cin>>b;cout<<"輸入 C+成績(jī):":cin>>c;scorc0=a;scorcl=b;scorc2=c;int Studcnt:Studcnd DQreturn id;string Siud

21、cni:StudcntNamcQreturn name;double Sn.idcnt:StudcntYscorcOreturn score();double Suident:StudciitSscc)rcQrcUirn scorcfl;double Suidcnt:StudciitCscorc()rcUirn score2;void Smdcnt:SctStudcntX(int n)x=n;int Svudcnt:StudcntX()return x;void Stiidcnt:(TctallQ(this->all=0;this->all=sc()rc0+sc()rcl+scor

22、c2;double n;n=all/3;if(0< =n&&n < 60)this->dungji="不及格”;else if(60<=n&&n<70)this->dungji="及格”;else if(70<=n&&n<80)this->dsgji="中等”;else if(80<=n&&n<90)this->dmgji="良好”;elsethis->dcn0i="優(yōu)秀”;double Studcnt:

23、All()return all;void StudunuSutRank。raiik+=l;int Studcnt:Rriiik()return rank;void Stiidcnt:ILmkClcar0rank= 1;void Sliidcnt:Scldcngii(striiig dengji)this->dcngji=dcngji;string Studcnt:Studcntr)cngjiOrcUirn dengji;Stiidcnrif():Studcniif()(int n=100) num=0;stu=ncw Svudcntn;Stiidcnrif(>:Siudcnrif(

24、)()delete stu;void Stiidcntif():NumaddQnum+=l;void Stiidcntifo:L()adr)(int n)信計(jì)0901班譚鄱侖s tu 11. Sc tS tudcntl D (n);void Svudcntifo:L()adNamc(int n,string name)stun.SctStudcntNamc(namc);void Stiidcntif():L()adSc()rc(int n,doublc ydoublc s,double c)s tu n. Sc tS tudentSco re (y,s ,c);void Stiidcntifo

25、:Sctif()()int n;COuKV”輸入學(xué)號(hào):";cin>>n;if(stiin.StxidcntX()=l | |n<=0)cout<<”該學(xué)號(hào)已有或者學(xué)號(hào)信息錯(cuò)誤elsesiun.SctStiidciitir)(n);stun.SctStiidciitNamc(,OH);siun.SctSn.idciitSc()rc(0,0,0);s tun.SctS tiidciitX (1);num+;cout<<cndl;void Saidcntifo::Putif()0int i,sl=O,yl =0,cl =0,y2=0,s2=0,c2

26、=0,y3=0,s3=0,c3=0,y4=0,s4=0,c4=0,y5=0,s5=0,c5=0;double Y=0,S=0,C=0;if(num=0)coutvv”沒(méi)有學(xué)生數(shù)據(jù)"vndl;cout«* 學(xué) 生 綜 合 信 息* ''v<undl。cout«HI學(xué) 號(hào)M«Hr«M姓 名英語(yǔ)M«HtH«n數(shù) 學(xué)“<<"/<<,+”<<”式'<<”總成績(jī)“<<“1”<<,監(jiān)次”<“小”等級(jí) |M«end

27、l;C()Ut«*" V Vundl,if(stiii.StudcniXO=l)Y+=stup.SiiidcntYsc()rc();S+=stiii.SvudcntSscorcQ;C+=stui.StudciitCscorcO;cout«H | l,«stui.StudcndDO«,t,;cout«stui.StudcntNamc0<<lt,;cout«stui.StudentYscorcO«,t,;cout«stup.StudentSscorcQ<<<tr;cout<

28、<stui.StudcntCscorc()<<,t,;stup.(Tctall0;c()ut«stui.All()«,t,;cout«stup.RankQ«<tr;cout<<stui.StudcntDcngji0;c()ut<<Ht | °<<cndl;cout«H* ,<<cndbif(stui.SiudcntX()=l)if(stu0.StiidcntYsc()rc()>=O&&stui.StudcntYsc()rcO<6O)yl

29、+;else if(slxii.SiudcntYsc(>rcQ>=6()&&stup.SludcntYsc(>rc()<70)y2+;else if(slxii.StudcntYscorc()>=7O&&stu0.SludcntYsc(>rc()<8O) y3+;else if (stiii.StudentYscoreQ>=8()&&stui.SVudentYscoreQ <90)y4+;elsey5+;if(stu0.StiidcntSsc()rc()>=()&&slu

30、i.StudciitSsc()rc()<6O)sl+;else if(slxii.StudcntSscorcO>=60&&stiii.StudcniSsc<)rcO<70) s2+;else if(stui.SludcntSscorcQ>=7O&&stiii.StudciitSsc()rc0<8O)s3+;else if (stup-StudcntSscorcO>=80&&stui.StudcntSscorcQ<90) s4+;elses5+;if(stu0.SlxidcntCsc()rcO>

31、=O&&stui.StudcnvCscorcQ<6O) cl+;else if(stui.SludcntCscorc()>=60&&stui.StudcntCsc<)rcO<70) c2+;else if(slxii.StudcntCscorc()>=7()&&stui.StudcntCsc()rcO<80) c3+;else if (stiii.SiudcntCsc()rc()>=8()&&stui.SmdciitCsc()rcO<90) c4+;elsec5+;cout«

32、;Hcout«n*各科成績(jī)信息*cout«Ht|iM«,ttM«M 英語(yǔ)教學(xué) M«HttH«MC+t|n«cndl;cout«'tI 平 均 成 績(jī)tH«Y/num«l,tt,l«S/num«Mtt,«C/num«Ht | H«cndl;cout<<HtI 不 及 梏t1,<<l00*doublc(yl)/num<<n%u<<ttM<<l00*doublc(sl)/num<

33、<,%H<<MttH<<l00*doublc (cl)/num«M%,l«Ht |H«cndl; cout<<HtI 及 梏t,<<sctprccisi()n(4)<<100*d()ublc(y2)/num<<,t%H<<MtiH<<sctprccisK)n(4)<<100*doublc(s2)/ num<<,%M<<tt,t<<sctprecision(4)<<100*double(c2)/num<

34、;<lt%H<<,1t r,«cndl; cout«Ht|中 等tH<<sctprccision(4)<<100*double(y3)/num<<H%H«MttH«sctprecision(4)«100*doublc(s3)/ numVV"%“vv”tt”vvsutprucision(4)vvlOO*doubk:(c3)/mimVV"%”vv、iTvVundl;C()Ut«HtI良好tH<<sctprccisi()n(4)<<100*do

35、ublc(y4)/num<<,,%H<<MtiH<<sctprccisk)n(4)<<100*d()ublc(s4)/ num<<M%,t<<1ttl,<<sctprecision(4)<<100*double(c4)/num<<H%M<<t1t r,«endl;cout«Ht|優(yōu) 秀t1,<<sctprccision(4)«l00*doublc(y5)/num«M%H«nttH«sctprccision

36、(4)«l00*doublc(s5)/ num<<M%M<<,tt,t<<setprecision(4)<<lOO*double(c5)/num<<M%M<<,1t r,«endl;cout«HCOUtV V”*各人*” vVundl。COUt<V“成績(jī)"<<”/<<“優(yōu)秀"<<“1"<<“良好“1:“<“中等”<<,、"<<”及格“<v"t,vv,不及格

37、為“Wundl;cout«M 英語(yǔ)H«y5«nt H«y4«Ht M«y3«MtM«yl«cndl;n«s2«Mtcout«H 教學(xué) H«Ht M«s5«Ht H«s4«Ht H«s3«HtM«sl«cndl;cout«nC+ M«Ht M«c5«Ht H<<c4«Ht ,l«c3«HtM«cl&

38、#171;cndl;void Stiidcntifo::Putif()R;inkOif(num=0)沒(méi)有學(xué)生數(shù)據(jù)"VVundl;elsecout«H 名次姓名 H«"tf,«H 英語(yǔ)數(shù)學(xué)f()r(int n= 1; n<=num; n+) for(int i=l; i<=100; i+)if(stu0.SixidcntXO=l&&stui.fLuikQ=n)(sttii.CTclallO;coul<<stuf.RaiikO<<,t,;cout<<stup.StudcntNamcQ&

39、lt;<<t,;c()ut<<stuO.SiudcntYsc()rcQ«,tt;c()ut<<stup.SvudcntSsc(>rcQ<<,l,;cout«stuf.StudentCscore0<<<cout«stui.AIlO«,t,;coul<<stuH.Siudcndr)0<<,t,;cout«stup.StudentDcngi();cout<<clldl;void Stiidcntif():PutID()int n,i,k=0;s

40、tring str2;pick:cout«*”<end 卜C()Ut«*1:按學(xué)號(hào)查找” v<mdl;*2:按姓各查找” v<mdl;C()Ut«C()Ut«*”<end 卜C()Ut«請(qǐng)選擇:switch(i) case 1:coutVV”輸入學(xué)號(hào):”;cin>>n;if(stun.SiudcntX0=2)coutvv”錯(cuò)誤!不存在該學(xué)生“vvedl; goto pick;cout«H 學(xué)號(hào)姓名英語(yǔ) H«MtM«H 數(shù)學(xué)cout<<stun.StudendDQ

41、71;lt,;cout<<stun.StudcntNamcQ<<<t,;cout<<stun.StudcntYscorc()<<,t,;c()ut<<stun.StudcntSsc(>rcQ<<,t,;cout< <stun .StudentCscoreO <stun.GetallQ;c()ut«stun.A110«,t,;cout«stun.RankQ«lt,;cout<<stun.StudcntDcngjiQ;cout<<cn

42、dl;break;ease 2:coutvv”輸入姓名:";cin>>str2;c()ut«0 學(xué)號(hào)姓名英語(yǔ) M«HtM«H 數(shù)學(xué)fi)r(intj=l;j<=100;j+)if(stiii.StudcniNamc0=str2&&stui.StudcntX0=l) cout<<stun.Studcndr)Q<<,t,;cout<<stun.StudcntNamcQ< vt';cout«stun.StudentYscoreQ«,tF;cout<&l

43、t;stun.StudcntSscorc0<<,t,;cout«stun.StudcntCscorc()«,t,;stu 回.Guiall。;cout«stun.All()«,t,;cout< <stun.Rankcout<<stun.StudcntDcngjiO;cout<<cndl;k+;if(k=O)sutvv”錯(cuò)誤!不存在該學(xué)生請(qǐng)重新輸入:H«cndl;goto pick;break;ease 3:break;void Saidcntifo:ClcarlDOint n;coutvv”輸入學(xué)

44、號(hào):0;cin>>n;if(stun.StiidcntXO=l)stun.SctS uidciitX(2);-num;cout<v"無(wú)此人"VVmdl;void Stiidcntifo::ClcarO ft)r(inti=0;i<=100+)stui.SctSvudcntX(2);num=0;8UKV繳據(jù)已清空”;void Svudcntifo:ClcarRankOfor(inti=l;i<=100; i+) stui.IvinkClcarO;void Saidcntif():NIakcR;mk()fbr(int i=l;i<100; i

45、+)fbr(intj=i+l;j<=100;j+)if(stiii.StudcntXO=l&&stiij.StudcntXO=l)if(stu0.AilO<stuj.AllO)stni.SctILiiik();else if(stui.A110>stuD.AHQ)stuj.SctRankO;void Saidcntifo:RcSctif()0int n,x,y;fixinfo:coutvv”請(qǐng)輸入需要修改學(xué)生的學(xué)號(hào):cin>>n;if(stu 回.StuckntX0=2)cout<<"沒(méi)有該學(xué)號(hào)學(xué)生信息,重試請(qǐng)按1,退出請(qǐng)按其

46、他數(shù)字"<<cndl;int z;cin>>z;if(z=l)goto fixinfi);elsegoto end;fix:com、收, cout<v"SL修改學(xué)號(hào) coutvv”02:修改姓名 cout<v"03:修改成績(jī) cout<v”4:退出修改 cout<<cndl;coutVV”請(qǐng)選擇:M;cin»x;switch(x)(case 1:couKV”請(qǐng)輸入新學(xué)號(hào):loop:cin>>y;f()r(int i=l; i<=num; i+)1 f(stu0.Studend DQ=

47、y)cout<<"該學(xué)號(hào)已存在,請(qǐng)重新輸入: goto loop;stun.SctStudcntID (y);couivv"學(xué)號(hào)修改成功! n";goto fix;break;case 2:s tu 回.Su tStuduntN amu,' 0");ecutev”姓名修改成功n”;goto fix;break;case 3:s tu n.Sc tS tuden tScorc (0,0,0);couivv”成績(jī)修改成功n”;goto fix;break;end:ease 4: break;void Stiidcntifo:MakcAll

48、Qfbr(int i=l;i<=100; i+)for(i=l;i<=100; i+)if(stui.StudentXO=l)stui.GctallQ;void Stiidcntifo:Xfix(int n)stun.SctStudcntX(l);int Stiidcntif():X(ini n)int x=stun.StudcntXQ;rcUirn x;int Svudcntif():ir)(int n)int x=stun.Student! DQ;rcnirn x;siring Studcntifo:Namc(int n)string s lr 1=s tu n .S tude

49、ntN amc ();return strl;double Stiidcntif():Ysc()rc(int n)double x=stun .StudcntYsc()reQ;return x; double Studcntif():Ssc()rc(int n)double x=stun.StudcntSscorc();return x;double Stiidcntif():Csc()rc(int n)double x=slun.StudcntCscorcQ;return x;double Sn.idcntif():StudcntAll(int n)double x=stun.A110;rc

50、Uirn x;int Svudcntif():StudcntR:ink(int n)int x=stun.R;ink();rcnirn x;string Studcntifo:Dcngji(int n)string s t r 1=s tu n .SI uden tD ciigj i Q;return strl;)void ShowMciiuQ 顯示菜單cout<<cout«|M«cndl;學(xué)生信息管理系統(tǒng)|M«cndl;I-|M«cndl;cout«l H«cndl;COUt<<, H«cndl;c

51、out«l H«cndl;COUt<<, H«cndl;cout«l H«cndl;COUt<<, H«cndl;cout«l H«cndl;COUt<<, H«cndl;cout«l H«cndl;COUt<<, H«cndl;cout«l ;I1.清空:清除所有學(xué)生數(shù)據(jù)I2.添加:插入需要學(xué)生數(shù)據(jù)I3.刪除:刪除指定學(xué)生數(shù)據(jù)I4.查找:查找指定學(xué)生數(shù)據(jù)I5.顯示:顯示所有學(xué)生數(shù)據(jù)(按學(xué)號(hào))I6.顯示:顯示所有學(xué)生數(shù)

52、據(jù)(按各次)I7.修改:修改指定學(xué)生數(shù)據(jù)I8.載入:載入已有學(xué)生數(shù)據(jù)I9.退出:安全的退出本系統(tǒng)I10.保存:保存所有學(xué)生數(shù)據(jù)| | " V Vulldl V Vulldl;void ShowTipQ 顯示操作提示cout«cildl;cout<<n操 作完成H<<clldl;coutVV”選擇 1-9 繼續(xù)CoutVV”請(qǐng)選擇:”;void Lc>ad(Studentifo *S)從文件中載入學(xué)生信息 int n;string namc2;double scorc23;ifstrcm infilcfdata.iylM); 創(chuàng)建文件輸入流,文件

53、位于項(xiàng)目文件夾中if(!infilc)ccrr<<”錯(cuò)誤:數(shù)據(jù)文件不能打開(kāi)!n”;elsefor(inti=l; infilc»n; i+) 從文件中讀取保存的學(xué)生數(shù)據(jù)infilc>>namc2;infilc>>scorc20;infilc>>scorc2l;infilc>>scorc22;S->Loadir)(n);S->LoadNamc(n,namc2);S->L()adSc()rc(n,sc()rc20,sc()rc2l>scorc22);S->NumaddQ;S->Xfix(n);

54、coutev”數(shù)據(jù)已載入! "«endl;flag=fa】sc;設(shè)置數(shù)據(jù)沒(méi)改動(dòng)infilc.closcQ; /關(guān)閉文件void Savc(Sludcntifo *S)將學(xué)生信息保存到文件ofstream outfilcC'dala.txt"); 創(chuàng)建文件輸出流if(!outfilc)ccrr<<”錯(cuò)誤:數(shù)據(jù)文件不能打開(kāi)!n”;elsefor(int i=l;i<=100; i+) 將學(xué)生數(shù)據(jù)寫(xiě)入文件oulfilc«H M«S->lD(i)«H M«S->Namc(i)«H H&

55、#171;S->Yscorc(i)«H M«S->Sscorc(i)«H n«S->Cscore(i)«cndl;coutv v”保存成功!"v Vendl;;void r>()Mcnu(intswitch?!?case 1:t->Clcar();break;case 2:int i;coutv<”插入學(xué)生數(shù):";cin»i;fbr(int j=l; j<=i; j+)t->Sctif()0;flag=truc;break;ease 4:t->MakcAllQ;

56、t->ClcarR;ink0;t->MakcR;mkQ;t->PutID();break;case 3:t->ClcarD();coutvv”刪除成功!”;flag=truc;break;case 5:t->MakcAllQ;t->ClcarR;ink0;t->MakcR;mkQ;t->Putif()O;break;case 10:t->MakcAllQ;t->ClcarR;ink0;t->MakcR;mkQ;Savc(t);break;case 7:t->RcSctifoQ;flag=truc;break;case 8:Lmd(t); 從文件中載入學(xué)生信息 break;case 6:t->MakcAll();t->ClcarR;inkQ;t->MakcRjmkQ;t->Pu

溫馨提示

  • 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)論