《學(xué)生成績管理系統(tǒng)》c++源程序_第1頁
《學(xué)生成績管理系統(tǒng)》c++源程序_第2頁
《學(xué)生成績管理系統(tǒng)》c++源程序_第3頁
《學(xué)生成績管理系統(tǒng)》c++源程序_第4頁
《學(xué)生成績管理系統(tǒng)》c++源程序_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++程序設(shè)計源程序: 《學(xué)生成績管理系統(tǒng)》#iiiclude<iostreain.h>#iiiclude<stnng.h>#iiiclude<process.h>#iiiclude<cstruig>//數(shù)組比較頭文件#iiiclude<fstieam.h>//文件的輸入輸出#iiiclude<stdio.h>mttime=O;charname_[20];classCPerson//CPerson基類成員:IDNoNameAddrTel(public:charIDNo[30];charNaine[30];charAddr[30];charTel[30];);classCStudent:publicCPerson//——CStudent類―繼承自CPerson成員:SmdNoMathEnglishAverage(public:charStudNo[30];doubleMath;doubleEnglish;doubleAverage;};classCClass//CClass類成員:CClassNameCStudent(private:charCClassName[30];CStudent*stu[50];public:CClassQ;?CClass。;voidCreateClassQ;//voidOutClassNaine();//輸出班級名字voidNewAStuQ;//1.創(chuàng)建學(xué)生信息voidchangeQ;//3.修改學(xué)生信息voiddel();〃4.刪除學(xué)生信息voidwriteinQ;//文件寫入voidwnteoutQ;〃文件讀出voidwriteino();//文件另存為voidwiiteouto();〃打開其他文件voidfindO;〃6.查詢學(xué)生信息);cout?\t\t\t執(zhí)行成功!?endl;HMsystem(pause);〃任意鍵繼續(xù)HMsystem(cls);〃清除屏幕HHvoidback_no()HM);〃任意鍵繼續(xù)system(pauseHH);system(cls〃清除屏幕voidtitle。//voidCClass::writemoQ//文件另存為system(cls);Hncout?---------學(xué)生信息管理程序HvoidCClass::writeiiiQ//---------------保存文件(ofstieamSaveFile(HmyH);SaveFile?CClassName?M\tM?time?endl;{SaveFile?stu[i]->IDNo?n\tM?stu[i]->Naine?H\tH?stu[i]->Addr?H\tH?stu[i].>Tel?,,\tH?stu[i]->StudNo?,^\t,^?stu[i]->Math?H\tH?stu[i]->English?,,\t"?stu[i]?>AveragevVendl;}Save();ofstieamSave(name_);Save?CClassName?,,\tH?tiine?endl;fbr(mtj=0J<time;j++){Savevvstu[J]?>IDNovv”\t"?stu|j]->Naiiie?H\tH?stu|j]->Addr?H\tM?stuU]->Tel?M\tH?stuU]->StudNo?,,\tH?stu|j]->Math?H\tnwstu[j]?>Englishvv”\t”?stu[j]->Average?endl;}Save.close();charchoice[30];

\n您現(xiàn)在的位置:\t主菜單ofstieamfop;ifstreainfip;cout?H文件己默認(rèn)保存了!\t現(xiàn)在需要另存為?(Y/N),,?endl;ciii?choice;while(sticmp(choice「'Y”)==0||sticmp(choice「'y”)=0){cout?H請輸入文件名稱:\tn?endl;ciii?name_;sticat(name_,".txtH);fop.open(naine_);fop?CClassNaine?,,\t,,?tmie?endl;fbr(inti=0;i<time;i++){fbpv<stu[i]?>n)No<v”\t”?stu[i]->Naine?H\tH?stu[i]->Addr?H\tM?stu[i]->Tel?M\tH?stu[i]->StudNo?M\tn?stu[i]->Math?H\tH?stu[i]->English?n\tH?stu[i]->Average?endl;}fip.close();cout?H另存為H?name_?n成功!H?endl;back_noQ;return;}wlule(sticmp(choice/,nn)==0||strcmp(choice/,Nn)==0){back_noQ;return;}wlule(sticmp(choice/,YH)!=0||sticnip(choice/y*)!=0){cout?H輸入錯誤!n?endl;back_noQ;return;}voidCClass::writeout()//inti=0;charc[30];FILE*fp;if((fp=fbpen(Hmy,7,rH))==NULL)coutvv”cann'topentheexit(O);}fscaiif(fpj,%s%d,\c,&time);sticpy(CClassName,c);wlule(i<time){fscaiif(fpJ,%s%s%s%s%s%lf%lf%lf\stu[i]->IDNo,stu[i]->Name,stu[i]->Addi;&sni[i]->Tel,stu[i]->StudNo,&stu[i]->Math,&stu[i]->English,&stu[i]->Average);1++;}fclose(fp);/*關(guān)閉文件*7cout?H恭喜你!成功讀取班級信息!\n”;}voidCClass::writeouto()//打開其他文件(int1=0;charc[30];FILE*fp;fstream_file;ofstieamfop;ifstreainfip;coutvv”請輸入文件名稱:\tH?endl;ciii?name_;sticat(naine_,”.txt”);〃創(chuàng)建文件名ifstreainfin(name_);_(naine_jos::m);wliile(!_file){cout?name_vv”沒有被創(chuàng)建4”;cout?M請輸入文件名稱:\t"?endl;ciii?name_;}if((fp=fbpen(name_/rH))=NULL){cout?Hcaiurtopenthefile\iiH;exit(0);}fscaiif(fpj,%s%d,\c,&time);sticpy(CClassName,c);fscaiif(fpj,%s%s%s%s%s%lf%lf%lf\stu國AEDNo’stuE.'Nam&stuUJ-AAddi.&sniUJoTeLstupl.AStudNo,&stu[i]->Math,&stu[i]->English,&stu[i]->Average);i++;}fclose(fp);/*關(guān)閉文件*7cout?H恭喜你!成功讀取班級信息!\n”;}CClass::CClass()//(i=0;i<50;i++){stu[i]=newCStudentQ;}}CClass:>CClass()//(i=0;i<50;i++){deletestu[i];}}voidCClass::CreateClass()//創(chuàng)建班級(charchoice[30];char*c;charcname[30];cout?H學(xué)生信息管理程序"?endl;cout?Mlx創(chuàng)建班級H?endl?”2、讀取班級信息“vvendlvv”3、退出程序"?endl;COUtVV,請選擇:”;ciii?choice;O=0;O<1;O-H-){while(strcmp(choice,”1”)==0){system(HclsM);cout?"學(xué)生信息管理程序,'?endl;cout?"請輸入班級名稱二c=newchar[];cin?c;strcpy(CClassName,c);retuni;)while(sticmp(choice,n2H)==0)system(HclsM);title。;cout?H\nl.打開上次的文件,f?endl?M2.打開其他文件n?endl?M\n請選擇二cin?cname;fbr(intk=0;k<1;k++){while(strcmp(cname/r1”)==0)(writeout();return;)while(strcmp(cname/2M)=0)(writeouto();return;)cout?M請在1?2中選擇二cin?cname;}}wlule(sticmp(choice/,0H)==0)exit(O);cout?H請在1?2中選擇:”;ciii?choice;}voidCClass::NewAStuQ//0.創(chuàng)建學(xué)生(cout?-'->輸入學(xué)生信息\n”;coutvv“請輸入身份證號碼(18位):\t\t”;ciii?stu[time]->IDNo;//檢驗身份證位數(shù)wlule(stu[time]->IDNo[18]!='\0){cout?HDataEnor!\n請輸入18位身份證號碼:\t\t";ciii?stu[time]->IDNo;}cout?HiW輸入姓名:\t\t”;cm?stu[time]->Name;COUtVV"請輸入住址:cm?stu[tune]->Addi;COUtVV”請輸入電話號碼:\t\t”;cm?stu[tune]->Tel;coutvv”請輸入學(xué)號(12位ciii?stu[tune]->StudNo;fbr(mto=0;o<10:o-H-)wliile(stu[time]->StudNo[12]!=,\0,)//檢驗學(xué)號位數(shù){cout?MDataError!\n請輸入12位學(xué)號:\t\t\t”;cin?sm[tmie]->StudNo;}for(inti=O;i<time;i-H-)//檢驗是否重復(fù){if(strcmp(stu[i]->StudNo,stu[time]->StudNo)=0){cout?nDataEiror!\n學(xué)號重復(fù):請重新輸入An”;cin?stu[tHiie]->StudNo;}}}cout?H請輸入數(shù)學(xué)成績:cm?stu[tune]->Math;wlule(stu[time]->Math<0|stu[time]->Math>1){cout?nDataEnor?\ii請重新輸入一個分?jǐn)?shù)(0?1):\t”;ciii?stu[time]->Math;}cout?H請輸入英語成績:\t\t”;ciii?stu[tune]->English;wlule(stu[time]->English<0|stu[time]->English>1){cout?nDataEnor?\ii請重新輸入一個分?jǐn)?shù)(0?1):\t”;ciii?stu[time]->English;}stu[time]->Av-eiage=(stu[time]->Math+stu[time]->English)/2;back();voidCClass::OutClassNameQ//2.打印班級名稱(intfenshu;chartemp[30];doubletemp_;change=O;change<tmie;change-H-){fenshu=chaiige;fbr(intj=changej<timeJ++)if(strcmp(stu[j]->StudNo,stu[fenshu]->StudNo)<0)fenshu=j;strcpy(temp,stu[fenshu]->Addr);strcpy(stu[fenshu]->Addr,stu[change]->Addr);strcpy(stu[change]->Addi;temp);/*地址*/strcpy(temp,stu[fenshu]->StudNo);strcpy(stu[fenshu]->StudNo,stu[chaiige]->StudNo);strcpy(stu[change]->StudNo,temp);/*身份證*/strcpy(temp,stu[fenshu]->Name);strcpy(stu[fenshu]->Name,stu[chaiige]->Name);strcpy(stu[change]->Naine,temp);/*姓名*/strcpy(temp,stu[fenshu]->Tel);strcpy(stu[fenshu]->TeLstu[chaiige]->Tel);strcpy(stu[change]->Tel,temp);/*電話*/strcpy(temp,stu[fenshu]->IDNo);strcpy(stu[fenshu]->IDNo,stu[change]^:-IDNo);strcpy(stu[change]->IDNo,temp);/*學(xué)號*/temp_=stu[fenshu]->Math;stu[fenshu]->Math=stu[change]->Matli;stu[change]->Math=temp_;/*數(shù)學(xué)*/temp_=stu[fenshu]->English;stu[fenshu]->English=stu[change]->English;stu[change]->English=temp_;/*英語*/temp_=stu[fenshu]->A\rerage;stu[fenshu]->Average=stu[change]->Average;stu[change]->Average=temp_;/*平均分*/}//cout?\n班級名稱:,?CClassName?\t?人數(shù):?tmie?endl?endl;H,,,nHHcout?"學(xué)號身份證號碼姓名住址電話數(shù)學(xué)英語平均分?endl;H{cout?stu[i]->StudNo?Hn?stu[i]->IDNo?Mn?stu[i]->Naine?Hn?stu[i]->Addr?Mn?stu[i]->Tel?-\tM?stu[i]->Math?-\tM?stu[i]->English?-\tM?stu[i]->Average?endl;}back_iio。;voidCClass::change()//3.修改學(xué)生的信息(charstr[3O];inti.had=0;char*a;charx[30];cout?^請輸入您要修改學(xué)生的學(xué)號/名字二ciii?str;foi(i=0;i<50;i++)if(strcmp(stu[i]->StudNo.str)=0|strcmp(stu[i]->Naine,sti)=O)had=l;cout?,,\tH?M身份證號碼:,,?,,\t,,?stu[i]->IDNo?eiidlvv”\t”vv”姓名HHH?\t?stu[i]->Name?endlvv”\t”vv”住址HH,?stu[i]->Addr?endl?\fvv”\t”vv”電話HHH?\t?stu[i]->Tel?endlnM?"學(xué)號H?H\tH?stu[i]->StudNo?endl?\tVV"\t”VV”數(shù)學(xué)成績H?H\tH?stu[i]->MathHHH?stu[i]->Enghsh,,?\t?\t"?"英語成績H,H<<sni[i]->Average<<endl<<endl;VV”\t”VV”平均分<<^tMl>修改地址M?endl;cout?M2、修改電話號碼H?endl;cout?cout?"3、修改數(shù)學(xué)成績,,?endl;Hcout?4>修改英語成績”vvendl;M0>返回”vvendl;cout?M請選擇操作二cin?x;cout?fbr(intk=0;k<1;k++){while(strcmp(x,M1H)==0){COUtVV”請輸入新的地址:”;a=newchar[];ciii?a;strcpy(stu[i]->Addr,a);back。;xeturn;)while(strcmp(x,M2H)==0){coutvv”請輸入新的電話號碼:”;cin?stu[i]->Tel;backQ;return;)while(strcmp(x,M3H)==0)coutvv,,請輸入新的數(shù)學(xué)成績二cin?stu[i]->Matli;while(stu[i]->Math>1|stu[i]-^-Math<0)cout?"請重新輸入OTOO:”;cin?stu[i]?>Math;}stu[i]->Average=(stu[i]->Math+stu[i]->English)/2;backQ;return:)while(strcmp(x/,4H)==0)(cout?H請輸入新的英語成績:";cin?stu[i]->English;while(stu[i]->English>1|stu[i]->English<0)(cout?"請重新輸入0?1:";cin?stu[i]?>English;};stu[i]->Average=(stu[i]->Math+stu[i]->English)/2;backQ;return:)cout?M請在1?4中選擇二cin?x;}if(had==0)(cout?n對不起!沒有查詢到H?str?n的信息!H?endl;back_no();}voidCClass::delQ//4.刪除學(xué)生的信息(charstr[30];inti,had=0;if(tiine!=0){coutvv”請輸入您要刪除的學(xué)號二cm?sti;for(i=0;i<50;i++)if(strcmp(stu[i]->StudNo,str)=0){had=l;cout?M第”vvi+i?”位學(xué)生:H?endl;cout?,,\f?M身份證號碼:H?n\tH?stu[i]->IDNo?eiidlvv,,\t“vv”姓名:”vv*yvstu[i].>Namev<endlvv,,\t“vv”住址?"\r?stu[i]->Addr?endlvv,,\t”vv”電話:”vv*yvstu[i].>Telv<endlvv,,\t”vv”學(xué)號:”vv*”vvstu[i].>StudNov<endlw,,\t“vv”數(shù)學(xué)成績:H?"\tH?stu[i]->Math?endlvv,,\t“vv”英語成績:H?"\tH?stu[i]->English?endlvv,,\t”vv”平均分:”vv*yvstu[i].>Averagev<endl?endl;for(intj=ij<=tiine-lJ++){strcpy(stu[j]->IDNo,sni[j-rl]->IDNo);strcpy(stuIj]->Name,stu[j+l]->Name);strcpy(stuIj]->Addi;sniIj+l]->Adclr);strcpy(stu[j]->Tel,stu[j+l]->Tel);strcpy(stu[j]->StudNo,stu[j+l]->StudNo);stuU]->Math=stu|j+1]->Math;stu[j]->English=stu[j+1]->English;stuU]->Average=stu°+1]?>Average;}back();}iRhad==O)(cout?H對不起!沒有查詢到n?str?n的信息!”VVendl;back_no();}}}voidCClass::fiiid()//6.查詢學(xué)生的信息(charstr[3O];coutvv”請輸入您要查詢學(xué)生的姓名/學(xué)號/身份證號碼/電話號碼:\t”;ciii?str;i=0;i<time;i++)if(sticnip(stu[i]->Name,sti)==0||sticmp(sni[i]->IDNo,str)==0||sticmp(sni[i]->StudNo,str)==0||strcmp(stu[i]->TeLstr)=O)cout?\n\t?身份證號碼:?\t?stu[i]->IDNo?eiidlMHHnnHvv,,\t,,vv”姓HHH?\t?stu[i]->Name?endl名住址VV”\t”VV”電話學(xué)號VV”\t”VV”數(shù)學(xué)成績?,,\t"?"英語成績back_no();return;

H?H\tH?stu[i]->Addi?endlH?H\tH?stu[i]->Tel?endlH?H\tH?stu[i]->SmdNo?endlH?H\tH?stu[i]->MathH?H\tH?stu[i]->EnglishH<<,^tH<<sni[i]->Aveiage<<endl<<e

溫馨提示

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

評論

0/150

提交評論