




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
信息科學(xué)與技術(shù)學(xué)院《數(shù)據(jù)構(gòu)造》課程設(shè)計(jì)報(bào)告題目名稱:學(xué)生管理系統(tǒng)專業(yè)班級(jí):11級(jí)計(jì)科2班學(xué)生姓名:陶鑫學(xué)生學(xué)號(hào):指引教師:郭理
完畢日期:-01-09TOC\o"1-3"\h\u18921課程設(shè)計(jì)目 1149531.1課程設(shè)計(jì)目 1265641.2課程設(shè)計(jì)題目 140681.3題目規(guī)定 1155182概要設(shè)計(jì) 2261262.1存儲(chǔ)構(gòu)造 2203512.2基本操作 3193283詳細(xì)設(shè)計(jì) 342413.1流程圖 3308063.2源程序 10137114測(cè)試 2151125課程設(shè)計(jì)總結(jié) 2970236參照書目: 291課程設(shè)計(jì)目1.1課程設(shè)計(jì)目更好掌握數(shù)據(jù)構(gòu)造這門課程,會(huì)用數(shù)據(jù)構(gòu)造基本思想及算法解決實(shí)際問題。更好掌握鏈表,能進(jìn)行各種基本操作,提高編程能力。1.2課程設(shè)計(jì)題目《學(xué)生管理系統(tǒng)》1.3題目規(guī)定使用下面數(shù)據(jù),用C/C++設(shè)計(jì)一種簡(jiǎn)樸學(xué)籍管理系統(tǒng),實(shí)現(xiàn)出最基本功能。學(xué)生基本信息文獻(xiàn)(A.TXT)及其內(nèi)容:A.TXT文獻(xiàn)不需要編程錄入數(shù)據(jù),可用文本編輯工具直接生成學(xué)號(hào)姓名性別宿舍號(hào)碼電話號(hào)碼01張成成男5018773211102李成華女1018772311203王成鳳女1018772311204張明明男5028773433305陳東男5018773211106李果男5028773433307張園園女10287756122……...…………..學(xué)生成績(jī)基本信息文獻(xiàn)(B.TXT)及其內(nèi)容:學(xué)號(hào)課程編號(hào)課程名稱學(xué)分平時(shí)成績(jī)實(shí)驗(yàn)成績(jī)卷面成績(jī)綜合成績(jī)實(shí)得學(xué)分01A01大學(xué)物理366788202B03高等數(shù)學(xué)478-19001B03高等數(shù)學(xué)445-18802C01VF3657666…….……….....…功能規(guī)定及闡明:(1)數(shù)據(jù)錄入功能:對(duì)B.TXT進(jìn)行數(shù)據(jù)錄入,只錄入每個(gè)學(xué)生學(xué)號(hào)、課程編號(hào)、課程名稱、學(xué)分、平時(shí)成績(jī)、實(shí)驗(yàn)成績(jī)、卷面成績(jī)共7個(gè)數(shù)據(jù).綜合成績(jī)、學(xué)分由程序依照條件自動(dòng)運(yùn)算。綜合成績(jī)計(jì)算:如果本課程實(shí)驗(yàn)成績(jī)?yōu)?1,則表達(dá)無實(shí)驗(yàn),綜合成績(jī)=平時(shí)成績(jī)*30%+卷面成績(jī)*70%;如果實(shí)驗(yàn)成績(jī)不為-1,表達(dá)本課程有實(shí)驗(yàn),綜合成績(jī)=平時(shí)成績(jī)*15%+實(shí)驗(yàn)成績(jī)*.15%+卷面成績(jī)*70%.實(shí)得學(xué)分計(jì)算:采用級(jí)別學(xué)分制.綜合成績(jī)?cè)?0-100之間,應(yīng)得學(xué)分=學(xué)分*100%綜合成績(jī)?cè)?0-90之間,應(yīng)得學(xué)分=學(xué)分*80%綜合成績(jī)?cè)?0-80之間,應(yīng)得學(xué)分=學(xué)分*75%綜合成績(jī)?cè)?0-70之間,應(yīng)得學(xué)分=學(xué)分*60%綜合成績(jī)?cè)?0如下,應(yīng)得學(xué)分=學(xué)分*0%(2)查詢功能:分為學(xué)生基本狀況查詢和成績(jī)查詢兩種A:學(xué)生基本狀況查詢:A1輸入一種學(xué)號(hào)或姓名(可實(shí)現(xiàn)選?。?,查出此生基本信息并顯示輸出。A2輸入一種宿舍號(hào)碼,可查詢出本室所有學(xué)生基本信息并顯示輸出。B:成績(jī)查詢:B1:輸入一種學(xué)號(hào)時(shí),查詢出此生所有課程狀況,格式如下:學(xué)號(hào):xx姓名:xxxxx課程編號(hào):xxx課程名稱:xxxxx綜合成績(jī):xxxx實(shí)得學(xué)分:xx課程編號(hào):xxx課程名稱:xxxxx綜合成績(jī):xxxx實(shí)得學(xué)分:xx課程編號(hào):xxx課程名稱:xxxxx綜合成績(jī):xxxx實(shí)得學(xué)分:xx………共修:xx科,實(shí)得總學(xué)分為:xxx(3)刪除功能:當(dāng)在A.TXT中刪除一種學(xué)生時(shí),自動(dòng)地在B.TXT中刪除此人所有信息。(4)排序功能:能實(shí)現(xiàn)選取按綜合成績(jī)或?qū)嵉脤W(xué)分升序或降序排序并顯示數(shù)據(jù)。(二)其他規(guī)定:(1)只能使用C/C++語言,源程序要有恰當(dāng)注釋,使程序容易閱讀(2)至少采用文本菜單界面(如果能采用圖形菜單界面更好)(3)學(xué)生可自動(dòng)增長(zhǎng)新功能模塊(視狀況可此外加分)(4)寫出課程設(shè)計(jì)報(bào)告,詳細(xì)規(guī)定見有關(guān)闡明文檔2概要設(shè)計(jì)2.1存儲(chǔ)構(gòu)造一方面,為了能使自己得到鍛煉,存儲(chǔ)構(gòu)造我使用了順序存儲(chǔ)與鏈?zhǔn)酱鎯?chǔ),學(xué)生基本信息用數(shù)組來存儲(chǔ),對(duì)學(xué)生成績(jī)基本信息使用鏈表進(jìn)行存儲(chǔ)。構(gòu)造體定義如下://學(xué)生基本信息構(gòu)造體定義typedefstructstudent{stringxuehao;//學(xué)號(hào)stringname;//姓名stringgender;//性別stringsushe;//宿舍號(hào)stringtel;//電話}student;//學(xué)生成績(jī)信息構(gòu)造體定義typedefstructgrade{stringxuehao;//學(xué)號(hào)stringcourseno;//課程號(hào)stringcoursename;//課程名稱intxuefen;//學(xué)分intpingshi;//平時(shí)成績(jī)intshiyan;//實(shí)驗(yàn)成績(jī)intjuanmian;//卷面成績(jī)floatzonghe;//綜合成績(jī)floatshide;//實(shí)得學(xué)分grade*next;}grade;2.2基本操作(1)數(shù)據(jù)錄入功能(2)查詢功能(3)刪除功能(4)排序功能(5)顯示所有學(xué)生信息(6)保存(7)退出3詳細(xì)設(shè)計(jì)3.1流程圖各個(gè)算法設(shè)計(jì)如下:1.主函數(shù):intmain();從A.txt中讀取存儲(chǔ)學(xué)生基本信息到內(nèi)存,以便進(jìn)行解決,過程如圖1開始創(chuàng)立存儲(chǔ)學(xué)生信息單鏈表頭結(jié)點(diǎn)開始創(chuàng)立存儲(chǔ)學(xué)生信息單鏈表頭結(jié)點(diǎn)將學(xué)生信息讀取到內(nèi)存調(diào)用菜單函數(shù)結(jié)束圖1菜單函數(shù):voidmenu(student*stu,grade*head,grade*gra);stu是指向?qū)W生基本信息數(shù)組指針,head是指向?qū)W生成績(jī)信息鏈表頭結(jié)點(diǎn)指針,gra是指向?qū)W生成績(jī)信息鏈表最后一種結(jié)點(diǎn)指針。用于進(jìn)行批示進(jìn)行各種操作,是與每個(gè)函數(shù)都相聯(lián)系一種函數(shù),功能操作見圖26保存0退出開始6保存0退出開始輸入i菜單4排序3刪除5顯示學(xué)生信息2查詢1數(shù)據(jù)錄入其她有誤誤結(jié)束6保存0退出開始輸入i菜單4排序3刪除5顯示學(xué)生信息2查詢1數(shù)據(jù)錄入其她有誤誤圖2數(shù)據(jù)錄入函數(shù):voidluru(grade*gra);其中g(shù)ra是指向單鏈表最后一種結(jié)點(diǎn)指針,用于后插法中進(jìn)行插入。將學(xué)生成績(jī)信息依次輸入單鏈表中,其中單鏈表邊輸入邊創(chuàng)立,綜合成績(jī)和實(shí)得學(xué)分可由計(jì)算機(jī)自己計(jì)算。流程圖見圖3判斷成績(jī)范疇?wèi)?yīng)得學(xué)分=學(xué)分*100%判斷成績(jī)范疇?wèi)?yīng)得學(xué)分=學(xué)分*100%應(yīng)得學(xué)分=學(xué)分*80%應(yīng)得學(xué)分=學(xué)分*75%應(yīng)得學(xué)分=學(xué)分*60%應(yīng)得學(xué)分=0結(jié)束綜合成績(jī)=平時(shí)成績(jī)*15%+實(shí)驗(yàn)成績(jī)*.15%+卷面成績(jī)*70%輸入學(xué)生平時(shí)成績(jī)輸入學(xué)生實(shí)驗(yàn)成績(jī)輸入學(xué)生卷面成績(jī)輸入學(xué)生課程編號(hào)輸入學(xué)生學(xué)號(hào)輸入學(xué)生學(xué)分開始gra->shiyan=-1綜合成績(jī)=平時(shí)成績(jī)*30%+卷面成績(jī)*70%輸入學(xué)生平時(shí)成績(jī)輸入學(xué)生實(shí)驗(yàn)成績(jī)輸入學(xué)生卷面成績(jī)輸入學(xué)生課程編號(hào)輸入學(xué)生學(xué)號(hào)輸入學(xué)生學(xué)分開始gra->shiyan=-1YNgra->shiyan=-1綜合成績(jī)=平時(shí)成績(jī)*30%+卷面成績(jī)*70%綜合成績(jī)=平時(shí)成績(jī)*30%+卷面成績(jī)*70%90-10080-9070-8060-7060如下圖34.查詢功能:voidlookfor(student*p,grade*head);P為指向?qū)W生基本信息數(shù)組指針,head為指向?qū)W生成績(jī)鏈表頭結(jié)點(diǎn)指針。有學(xué)生基本狀況查詢和成績(jī)查詢兩種大功能,基本狀況查詢又分為按學(xué)號(hào)或姓名查找單個(gè)學(xué)生基本信息,也可輸入宿舍號(hào)查詢整個(gè)宿舍學(xué)生基本信息。成績(jī)查詢只要輸入學(xué)號(hào)便可查詢相應(yīng)學(xué)生成績(jī)信息。見圖41.輸入一種學(xué)號(hào)或姓名1.輸入一種學(xué)號(hào)或姓名2.輸入一種宿舍號(hào)碼a按學(xué)號(hào)查找b按姓名查找輸出一種宿舍學(xué)生信息輸出相應(yīng)學(xué)生信息輸出相應(yīng)學(xué)生所有成績(jī)結(jié)束開始輸入iA:學(xué)生基本狀況查詢B:成績(jī)查詢輸入j輸入學(xué)號(hào)圖4刪除功能:voiddel(student*stu,grade*head);stu為指向?qū)W生基本信息數(shù)組指針,head為指向?qū)W生成績(jī)鏈表頭結(jié)點(diǎn)指針。執(zhí)行刪除功能時(shí)在存儲(chǔ)學(xué)生基本信息數(shù)組中與存儲(chǔ)學(xué)生成績(jī)信息鏈表中同步刪除該學(xué)生信息,以便進(jìn)行下面操作與向文獻(xiàn)中存儲(chǔ)信息。功能見圖5開始開始輸入要?jiǎng)h除學(xué)生學(xué)號(hào)在學(xué)生基本信息中刪除在學(xué)生成績(jī)基本信息中刪除結(jié)束圖5排序功能:voidsort(grade*head);head為指向?qū)W生成績(jī)鏈表頭結(jié)點(diǎn)指針。下面流程圖實(shí)現(xiàn)是按綜合成績(jī)升序排序,使用選取排序法,雖說使用存儲(chǔ)構(gòu)造為鏈?zhǔn)酱鎯?chǔ)構(gòu)造,但排序時(shí)并非變化指針指向,而是只修改存儲(chǔ)信息,指針指向不用變化。如圖6開始開始head=head->nexthead->next!=NULLp=head->nextP!=NULLhead->zonghe>p->zonghe互換相鄰節(jié)點(diǎn)中數(shù)據(jù)p=p->next結(jié)束NYPP!=NULLhead->zonghe>p->zonghe互換相鄰節(jié)點(diǎn)中數(shù)據(jù)p=p->nextNYNYhead=head->nexthead=head->next圖6顯示所有學(xué)生信息:voidshow(student*stud);stud為指向?qū)W生基本信息數(shù)組指針用于顯示內(nèi)存中學(xué)生基本狀況信息,以便更好理解學(xué)生某些狀況.開始i=1開始i=1stud[i].xuehao!="0"輸出學(xué)號(hào),姓名,性別,宿舍,電話號(hào)結(jié)束NYi++i++圖7保存功能:voidsave1(student*stud);voidsave2(grade*head);stud為指向?qū)W生基本信息數(shù)組指針,head為指向?qū)W生成績(jī)鏈表頭結(jié)點(diǎn)指針。函數(shù)用于將內(nèi)存中數(shù)據(jù)存儲(chǔ)到文獻(xiàn)中以便更好保存信息。開始開始輸入ii==1I==2保存學(xué)生基本信息到A.TXT保存學(xué)生成績(jī)信息到B.TXT輸入有誤,重新操作!結(jié)束NYNY圖83.2源程序#definenum10#include<iostream>.#include<string>#include<fstream>//定義文獻(xiàn)輸入輸出流usingnamespacestd;//學(xué)生基本信息構(gòu)造體定義typedefstructstudent{stringxuehao;//學(xué)號(hào)stringname;//姓名stringgender;//性別stringsushe;//宿舍號(hào)stringtel;//電話}student;//學(xué)生成績(jī)信息構(gòu)造體定義typedefstructgrade{stringxuehao;//學(xué)號(hào)stringcourseno;//課程號(hào)stringcoursename;//課程名稱intxuefen;//學(xué)分intpingshi;//平時(shí)成績(jī)intshiyan;//實(shí)驗(yàn)成績(jī)intjuanmian;//卷面成績(jī)floatzonghe;//綜合成績(jī)floatshide;//實(shí)得學(xué)分grade*next;}grade;voidluru(grade*gra);voidmenu(student*stu,grade*head,grade*gra);voidlookfor(student*p,grade*head);voidsort(grade*head);voidout(grade*head);voidsort1(grade*head);voiddel(student*stu,grade*head);voidshow(student*stu);voidsave1(student*stud);voidsave2(grade*head);voidleave();//數(shù)據(jù)錄入voidluru(grade*gra){stringstr;cout<<"請(qǐng)輸入學(xué)生學(xué)號(hào),"<<endl;cin>>str;gra->xuehao=str; cout<<"請(qǐng)錄入該生課程編號(hào)"<<endl;cin>>gra->courseno; cout<<"請(qǐng)錄入該生課程名稱"<<endl;cin>>gra->coursename;cout<<"請(qǐng)錄入該生學(xué)分"<<endl;cin>>gra->xuefen;cout<<"請(qǐng)錄入該生平時(shí)成績(jī)"<<endl;cin>>gra->pingshi;cout<<"請(qǐng)錄入該生實(shí)驗(yàn)成績(jī)"<<endl;cin>>gra->shiyan;cout<<"請(qǐng)錄入該生卷面成績(jī)"<<endl;cin>>gra->juanmian;//綜合成績(jī)計(jì)算 if(gra->shiyan==-1) gra->zonghe=gra->pingshi*0.3+gra->juanmian*0.7; elsegra->zonghe=gra->pingshi*0.15+gra->juanmian*0.7+gra->shiyan*0.15; //實(shí)得學(xué)分計(jì)算 if(gra->zonghe>=90&&gra->zonghe<=100)gra->shide=gra->xuefen; elseif(gra->zonghe>=80)gra->shide=gra->xuefen*0.8; elseif(gra->zonghe>=70)gra->shide=gra->xuefen*0.75; elseif(gra->zonghe>=60)gra->shide=gra->xuefen*0.60; elseif(gra->zonghe<60)gra->shide=0; else cout<<"您輸入有誤,請(qǐng)按提示操作!"<<endl;}//查詢功能voidlookfor(student*p,grade*head){chari,k;stringstr;intj,x=0;floatsum=0;cout<<""<<endl;cout<<"--A:學(xué)生基本狀況查詢B:成績(jī)查詢--"<<endl;cout<<""<<endl;cin>>i;switch(i){//學(xué)生基本狀況查詢case'A':cout<<""<<endl; cout<<"--1.輸入一種學(xué)號(hào)或姓名2.輸入一種宿舍號(hào)碼--"<<endl; cout<<""<<endl;cin>>j; //A1輸入一種學(xué)號(hào)或姓名(可實(shí)現(xiàn)選?。槌龃松拘畔⒉@示輸出。 if(j==1) {cout<<"*****************************************************"<<endl; cout<<"************a按學(xué)號(hào)查找b按姓名查找************"<<endl; cout<<"*****************************************************"<<endl; cin>>k; if(k=='a') {cout<<"請(qǐng)輸入學(xué)號(hào):"<<endl; cin>>str; for(j=1;j<8;j++) {if(p[j].xuehao==str)cout<<p[j].xuehao<<""<<p[j].name<<""<<p[j].gender<<""<<p[j].sushe<<""<<p[j].tel;cout<<endl; } } elseif(k=='b') {cout<<"請(qǐng)輸入姓名:"<<endl; cin>>str; for(j=1;j<8;j++) {if(p[j].name==str)cout<<p[j].xuehao<<""<<p[j].name<<""<<p[j].gender<<""<<p[j].sushe<<""<<p[j].tel;cout<<endl; } } } //A2輸入一種宿舍號(hào)碼,可查詢出本室所有學(xué)生基本信息并顯示輸出。 elseif(j==2) {cout<<"請(qǐng)輸入宿舍號(hào):"<<endl; cin>>str; for(j=1;j<8;j++) {if(p[j].sushe==str)cout<<p[j].xuehao<<""<<p[j].name<<""<<p[j].gender<<""<<p[j].sushe<<""<<p[j].tel;cout<<endl; } } else cout<<"您輸入有誤,請(qǐng)按提示操作!"<<endl; break;//成績(jī)查詢case'B':cout<<"請(qǐng)輸入要查詢學(xué)生學(xué)號(hào):"<<endl; cin>>str; for(j=1;j<8;j++) {if(p[j].xuehao==str) cout<<"學(xué)號(hào):"<<str<<"\t"<<"姓名:"<<p[j].name<<endl; }head=head->next;//指向首元結(jié)點(diǎn) while(head!=NULL) { if(head->xuehao==str) {cout<<"課程編號(hào):"<<head->courseno<<"\t" <<"課程名稱:"<<head->coursename<<"\t" <<"綜合成績(jī):"<<head->zonghe<<"\t" <<"實(shí)得學(xué)分:"<<head->shide<<endl;x++; sum=sum+head->shide; } head=head->next;//指針后指 } cout<<"共修:"<<x<<"科,實(shí)得總學(xué)分為:"<<sum<<endl; break;default:cout<<"您輸入有誤,請(qǐng)按提示操作!"<<endl;}}//刪除功能voiddel(student*stu,grade*head){stringstr;grade*p=head->next;grade*q;cout<<"請(qǐng)輸入要?jiǎng)h除學(xué)生學(xué)號(hào):"<<endl;cin>>str;//在學(xué)生基本信息中刪除for(inti=1;stu[i].xuehao!="0";i++){ if(stu[i].xuehao==str) {for(intj=i;stu[j].xuehao!="0";j++) {stu[j].gender=stu[j+1].gender; stu[j].name=stu[j+1].name; stu[j].sushe=stu[j+1].sushe; stu[j].tel=stu[j+1].tel; stu[j].xuehao=stu[j+1].xuehao; } stu[j].gender="0"; stu[j].name="0"; stu[j].sushe="0"; stu[j].tel="0"; stu[j].xuehao="0"; } }//在學(xué)生成績(jī)基本信息中刪除while(p){ if(p->xuehao==str) {head->next=p->next; q=p; p=p->next; deleteq; } else {p=p->next; head=head->next; }}cout<<"刪除成功!"<<endl;}//排序功能//按綜合成績(jī)升序排序voidsort(grade*head){grade*temp=newgrade;grade*h=head;for(head=head->next;head->next;head=head->next){for(grade*p=head->next;p;p=p->next) { if(head->zonghe>p->zonghe) {temp->xuehao=head->xuehao; head->xuehao=p->xuehao; p->xuehao=temp->xuehao; temp->courseno=head->courseno; head->courseno=p->courseno; p->courseno=temp->courseno;temp->coursename=head->coursename; head->coursename=p->coursename; p->coursename=temp->coursename;temp->xuefen=head->xuefen; head->xuefen=p->xuefen; p->xuefen=temp->xuefen; temp->pingshi=head->pingshi; head->pingshi=p->pingshi; p->pingshi=temp->pingshi; temp->shiyan=head->shiyan; head->shiyan=p->shiyan; p->shiyan=temp->shiyan; temp->juanmian=head->juanmian; head->juanmian=p->juanmian; p->juanmian=temp->juanmian; temp->zonghe=head->zonghe; head->zonghe=p->zonghe; p->zonghe=temp->zonghe; temp->shide=head->shide; head->shide=p->shide; p->shide=temp->shide;//數(shù)據(jù)互換 } }}cout<<"按綜合成績(jī)升序排序?yàn)椋?<<endl;out(h);}//按實(shí)得學(xué)分降序排序voidsort1(grade*head){grade*temp=newgrade;grade*h=head;for(head=head->next;head->next;head=head->next){for(grade*p=head->next;p;p=p->next) { if(head->shide<p->shide) {temp->xuehao=head->xuehao; head->xuehao=p->xuehao; p->xuehao=temp->xuehao; temp->courseno=head->courseno; head->courseno=p->courseno; p->courseno=temp->courseno;temp->coursename=head->coursename; head->coursename=p->coursename; p->coursename=temp->coursename;temp->xuefen=head->xuefen; head->xuefen=p->xuefen; p->xuefen=temp->xuefen; temp->pingshi=head->pingshi; head->pingshi=p->pingshi; p->pingshi=temp->pingshi; temp->shiyan=head->shiyan; head->shiyan=p->shiyan; p->shiyan=temp->shiyan; temp->juanmian=head->juanmian; head->juanmian=p->juanmian; p->juanmian=temp->juanmian; temp->zonghe=head->zonghe; head->zonghe=p->zonghe; p->zonghe=temp->zonghe; temp->shide=head->shide; head->shide=p->shide; p->shide=temp->shide; } }}cout<<"按實(shí)得學(xué)分降序排序?yàn)椋?<<endl;out(h);}//輸出學(xué)生成績(jī)信息voidout(grade*head){head=head->next;cout<<"學(xué)號(hào)"<<""<<"課程編號(hào)"<<""<<"課程名稱\t"<<""<<"學(xué)分"<<""<<"平時(shí)成績(jī)"<<"" <<"實(shí)驗(yàn)成績(jī)"<<""<<"卷面成績(jī)"<<""<<"綜合成績(jī)"<<""<<"實(shí)得學(xué)分"<<endl;while(head){cout<<head->xuehao<<"\t"<<head->courseno<<"\t"<<head->coursename<<"\t"<<head->xuefen<<"\t"<<head->pingshi<<"\t"<<head->shiyan<<"\t"<<head->juanmian<<"\t"<<head->zonghe<<"\t"<<head->shide<<endl;head=head->next;}}//顯示所有學(xué)生信息voidshow(student*stud){for(inti=1;stud[i].xuehao!="0";i++){cout<<stud[i].xuehao<<""<<stud[i].name<<""<<stud[i].gender<<""<<stud[i].sushe<<""<<stud[i].tel;cout<<endl;}}//將學(xué)生信息保存到A.txtvoidsave1(student*stud){ofstreamoutfile("A.txt",ios::out);//打開文獻(xiàn)if(!outfile){ cerr<<"打開文獻(xiàn)失敗,程序中斷!"<<endl; exit(1);//打開文獻(xiàn)失敗,終結(jié)程序}for(inti=0;stud[i].xuehao!="0";i++){outfile<<stud[i].xuehao<<""<<stud[i].name<<""<<stud[i].gender<<""<<stud[i].sushe<<""<<stud[i].tel<<endl;}outfile.close();//關(guān)閉文獻(xiàn)}//將學(xué)生成績(jī)信息保存到B.txtvoidsave2(grade*head){ofstreamoutfile("B.txt",ios::out);//打開文獻(xiàn)if(!outfile){ cerr<<"打開文獻(xiàn)失敗,程序中斷!"<<endl; exit(1);//打開文獻(xiàn)失敗,終結(jié)程序}head=head->next;outfile<<"學(xué)號(hào)"<<""<<"課程編號(hào)"<<""<<"課程名稱\t"<<""<<"學(xué)分"<<""<<"平時(shí)成績(jī)"<<"" <<"實(shí)驗(yàn)成績(jī)"<<""<<"卷面成績(jī)"<<""<<"綜合成績(jī)"<<""<<"實(shí)得學(xué)分"<<endl;while(head){outfile<<head->xuehao<<"\t"<<head->courseno<<"\t"<<head->coursename<<"\t"<<head->xuefen<<"\t"<<head->pingshi<<"\t"<<head->shiyan<<"\t"<<head->juanmian<<"\t"<<head->zonghe<<"\t"<<head->shide<<endl;head=head->next;}outfile.close();//關(guān)閉文獻(xiàn)}voidleave(){cout<<"本系統(tǒng)由計(jì)科11陶鑫制作,謝謝使用!"<<endl;exit(1);}//菜單voidmenu(student*stu,grade*head,grade*gra){inti;grade*p;cout<<"歡迎使用學(xué)生管理系統(tǒng),請(qǐng)按提示操作!"<<endl;cout<<"——陶鑫制作"<<endl;cout<<"********************************************************************************"<<endl;cout<<"*1數(shù)據(jù)錄入功能2查詢功能3刪除功能4排序功能5顯示所有學(xué)生信息6保存0退出*"<<endl;cout<<"********************************************************************************"<<endl;cin>>i;switch(i){case1:p=newgrade; p->next=NULL; gra->next=p; gra=p; luru(gra);system("pause"); system("cls");menu(stu,head,gra); break;case2:lookfor(stu,head); system("pause"); system("cls"); menu(stu,head,gra); break;case3: del(stu,head); system("pause"); system("cls"); menu(stu,head,gra); break;case4: cout<<""<<endl; cout<<"--1.按綜合成績(jī)升序2.按實(shí)得學(xué)分降序--"<<endl; cout<<""<<endl; cin>>i; if(i==1) sort(head); elseif(i==2)sort1(head); else {cout<<"您輸入有誤,請(qǐng)重新操作!"<<endl; system("pause"); system("cls"); menu(stu,head,gra); } system("pause"); system("cls"); menu(stu,head,gra); break;case5:show(stu); system("pause"); system("cls"); menu(stu,head,gra); break;case6:cout<<""<<endl; cout<<"--1.學(xué)生基本信息保存2.學(xué)生成績(jī)保存--"<<endl; cout<<""<<endl; cin>>i; if(i==1)save1(stu); elseif(i==2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專注2025年特許金融分析師考試考點(diǎn)試題及答案
- 銀行從業(yè)資格考試模擬試題及答案
- 2025年銀行從業(yè)資格證考試行業(yè)現(xiàn)狀試題及答案
- 畜牧師職稱考試關(guān)系到您:試題及答案
- 深度解析特許金融分析師考試試題細(xì)節(jié)試題及答案
- 補(bǔ)習(xí)班期末考試卷及答案
- 畢節(jié)四小期末試卷及答案
- 2025年銀行從業(yè)資格證考試市場(chǎng)調(diào)研方法試題及答案
- 銀行激勵(lì)機(jī)制設(shè)計(jì)試題及答案2025年解析
- 畜牧師職稱考試經(jīng)典試題及答案參考
- 光伏項(xiàng)目高處墜落的風(fēng)險(xiǎn)點(diǎn)及控制措施(A)
- 四大名著課本劇主持詞
- 地鐵安檢專業(yè)知識(shí)培訓(xùn)課件
- 30題騰訊云智研發(fā)技術(shù)運(yùn)營(yíng)崗位常見面試問題含HR問題考察點(diǎn)及參考回答
- 第5課南亞東亞與美洲的文化課件-高中歷史選擇性必修3
- (2024年)智慧工地系統(tǒng)介紹課件pptx
- 《奈奎斯特準(zhǔn)則》課件
- 操作劇院燈光音響的工作手冊(cè)
- 福利院消防安全知識(shí)培訓(xùn)
- 滅火器材和使用技巧
- 人工智能在市場(chǎng)營(yíng)銷中的應(yīng)用與前景展望
評(píng)論
0/150
提交評(píng)論