




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、/*/* Author:TigerDate:6/15/2013Function:小型信息管理系統(tǒng)Version:1.11、增加了學(xué)生成績輸入范圍的檢查。2、優(yōu)化部分代碼。 */*/#include<iostream.h>#include<fstream.h>#include<string.h>/學(xué)生基類class Studentprotected:char name20;/姓名float score1,score2,score3;/成績1、2、3、public:void getname(char a);/得到學(xué)生的姓名,用于查詢void set();/設(shè)置學(xué)
2、生信息void show();/顯示學(xué)生信息void average();/計算并輸出平均成績float check_score(int i,float sc);/輸入學(xué)生的第i門的成績,分?jǐn)?shù)在(0-100);float Student:check_score(int i,float sc)cout<<"成績"<<i<<":"<<endl;cin>>sc;if (sc<0|sc>100)cout<<"輸入成績有誤!"<<endl; chec
3、k_score(i,sc);return sc;void Student:getname(char a)strcpy(a,name);void Student:show()cout<<"學(xué)生姓名:"<<name<<'n'<<"成績1:"<<score1<<'n'<<"成績2:"<<score2<<'n'<<"成績3:"<<score3&l
4、t;<'n'void Student:set()cout<<"學(xué)生姓名:"cin>>name;/輸入并檢查成績的范圍float temp_sc=0;score1=check_score(1,temp_sc);score2=check_score(2,temp_sc);score3=check_score(3,temp_sc);void Student:average()cout<<"姓名:"<<name<<endl;cout<<"平均成績:"
5、<<(score1+score2+score3)/3<<endl;/中學(xué)生類class Middle_school_student:public Studentprotected:char householder20;/家長public:Middle_school_student();void set();void show();Middle_school_student:Middle_school_student()strcpy(name,"張三");score1=0;score2=0;score3=0;strcpy(householder,&qu
6、ot;李四");void Middle_school_student:set()Student:set();cout<<"家長:"cin>>householder;void Middle_school_student:show()Student:show();cout<<"家長:"<<householder<<endl;/大學(xué)生類class University_student:public Studentchar profession20;/專業(yè)public:University_s
7、tudent();void set();void show();University_student:University_student()strcpy(name,"張三");score1=0;score2=0;score3=0;strcpy(profession,"無");void University_student:set()Student:set();cout<<"專業(yè):"cin>>profession;void University_student:show()Student:show();cout
8、<<"專業(yè):"<<profession<<endl;/研究生類class Postgraduate:public Studentchar tutor20;public:Postgraduate();void set();void show();Postgraduate:Postgraduate()strcpy(name,"張三");score1=0;score2=0;score3=0;strcpy(tutor,"李四");void Postgraduate:set()Student:set();co
9、ut<<"導(dǎo)師:"cin>>tutor;void Postgraduate:show()Student:show();cout<<"導(dǎo)師:"<<tutor<<endl;/菜單界面int menu()int x;cout<<"*歡迎使用*"<<endl;cout<<"*小型學(xué)生信息管理系統(tǒng)*"<<endl;cout<<"1、輸入學(xué)生信息"<<'n'&l
10、t;<"2、查詢學(xué)生信息并顯示"<<'n'<<"3、計算平均成績并顯示"<<'n'<<"4、退出"<<'n'<<"請您選擇(1-4):"cin>>x;return x;/管理界面int manage()int x;cout<<"*按學(xué)生類別進(jìn)行管理*"<<endl;cout<<"*學(xué)生類別選擇*"<
11、<endl;cout<<"1 中學(xué)生類"<<'n'<<"2 大學(xué)生類"<<'n'<<"3 研究生類"<<'n'<<"4 退出"<<'n'<<"請您選擇學(xué)生類別:"cin>>x;return x;/創(chuàng)建一個Middle_school_studentMiddle_school_student newmiddle(
12、)Middle_school_student m;m.set();return m;/將Middle_school_student對象寫進(jìn)D:middle.txtvoid writeMiddle(Middle_school_student &m)fstream fo;fo.open("D:middle.txt",ios:out|ios:app);if (!fo)cout<<"不能打開文件!"<<endl;return ;fo.write(char*)&m,sizeof(Middle_school_student);
13、fo.close();/讀取一個Middle_school_student對象void readMiddle(int j)/*j=1進(jìn)入查詢學(xué)生信息、j=2查詢學(xué)生平均成績*/Middle_school_student s;fstream fr;char temp120,temp220;cout<<"請輸入要查詢的學(xué)生名:" cin>>temp1;fr.open("D:middle.txt",ios:in);if (!fr)cout<<"不能打開文件!"<<endl;return ;/計
14、算Middle_school_student記錄的個數(shù)Numfr.seekp(0,ios:end);long Num=fr.tellp()/sizeof(Middle_school_student);for (int i=0;i<Num;i+)fr.seekp(sizeof(Middle_school_student)*i);fr.read(char*)&s,sizeof(Middle_school_student);s.getname(temp2);int tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();return;els
15、e if(j=2)s.average();return; else cout<<"錯誤!"<<endl;return; cout<<"沒有該學(xué)生!"<<endl;fr.close();/創(chuàng)建一個University_studentUniversity_student newuniversity()University_student u;u.set();return u;/將University_student對象寫進(jìn)D:university.txtvoid writeUniversity(Universi
16、ty_student &u)fstream fo;fo.open("D:university.txt",ios:out|ios:app);if (!fo)cout<<"不能打開文件!"<<endl;return ;fo.write(char*)&u,sizeof(University_student);fo.close();/讀取一個University_student對象void readUniversity(int j)/*j=1進(jìn)入查詢學(xué)生信息、j=2查詢學(xué)生平均成績*/University_student
17、s;fstream fr;char temp120,temp220;cout<<"請輸入要查詢的學(xué)生名:" cin>>temp1;fr.open("D:university.txt",ios:in);if (!fr)cout<<"不能打開文件!"<<endl;return ;/計算University_student記錄的個數(shù)fr.seekp(0,ios:end);long Num=fr.tellp()/sizeof(University_student);for (int i=0;i&
18、lt;Num;i+)fr.seekp(sizeof(University_student)*i);fr.read(char*)&s,sizeof(University_student);s.getname(temp2);int tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();return;else if(j=2)s.average();return; else cout<<"錯誤!"<<endl;return; cout<<"沒有該學(xué)生!"<<e
19、ndl;fr.close();/創(chuàng)建一個PostgraduatePostgraduate newpostgraduate()Postgraduate p;p.set();return p;/將Postgraduate對象寫進(jìn)D:postgraduate.txtvoid writePostgraduate(Postgraduate &p)fstream fo;fo.open("D:postgraduate.txt",ios:out|ios:app);if (!fo)cout<<"不能打開文件!"<<endl;return ;
20、fo.write(char*)&p,sizeof(Postgraduate);fo.close();/讀取一個Postgraduate對象void readPostgraduate(int j)/*j=1進(jìn)入查詢學(xué)生信息、j=2查詢學(xué)生平均成績*/Postgraduate s;fstream fr;char temp120,temp220;cout<<"請輸入要查詢的學(xué)生名:" cin>>temp1;fr.open("D:postgraduate.txt",ios:in);if (!fr)cout<<"
21、;不能打開文件!"<<endl;return ;/計算Postgraduate記錄的個數(shù)fr.seekp(0,ios:end);long Num=fr.tellp()/sizeof(Postgraduate);for (int i=0;i<Num;i+)fr.seekp(sizeof(Postgraduate)*i);fr.read(char*)&s,sizeof(Postgraduate);s.getname(temp2);int tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();return;else
22、if(j=2)s.average();return; else cout<<"錯誤!"<<endl;return; cout<<"沒有該學(xué)生!"<<endl;fr.close();void func1(int i,int t);/判斷函數(shù)、判斷是否繼續(xù)輸入void check_enter(int i)/*i的取值決定輸入的學(xué)生的類型*/char ce;cout<<"信息存儲成功!是否繼續(xù)輸入(y/n)?"cin>>ce;if (ce='y')swi
23、tch(i)case 1:writeMiddle(newmiddle();check_enter(i);break;case 2:writeUniversity(newuniversity();check_enter(i);break;case 3:writePostgraduate(newpostgraduate();check_enter(i);break;default:cout<<"錯誤!"<<endl;break;else if(ce='n')return;else cout<<"輸入錯誤!"
24、<<endl;/判斷函數(shù)、判斷是否繼續(xù)查詢void check_find(int i)/*i的值決定查詢的學(xué)生的類型*/char cf;cout<<"是否繼續(xù)查詢(y/n)?"<<endl;cin>>cf;if (cf='y')func1(i,1);else if(cf='n')return; else cout<<"輸入錯誤!"<<endl;/判斷函數(shù)、判斷是否繼續(xù)查詢void check_average(int i)/*i的值決定查詢的學(xué)生的類型*
25、/char ca;cout<<"是否繼續(xù)查詢(y/n)?"<<endl;cin>>ca;if (ca='y')func1(i,2);else if(ca='n')return; else cout<<"輸入錯誤!"<<endl;/函數(shù),t=1查詢學(xué)生信息t=2查詢平均成績,i代表學(xué)生類型void func1(int i,int t)if (t=1)switch(i)case 1:readMiddle(t);check_find(i);break;case 2:readUniversity(t);check_find(i);break;case 3:readPostgraduate(t);check_find(i);break;case 4:break;default:cout<<"錯誤!"&l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長會學(xué)生主持發(fā)言稿
- 上海市業(yè)主總包分包合同
- 2024年公司勞動合同
- 2025年江西貨運(yùn)從業(yè)資格證考試模擬考試題庫答案大全
- IT支持與服務(wù)記錄表格
- 《語文古典詩詞鑒賞與創(chuàng)作指導(dǎo)》
- 股份制合作協(xié)議文書范例
- 2025屆廣西壯族自治區(qū)桂林市疊彩區(qū)高三一模地理試題(解析版)
- 手設(shè)備采購合同稿
- 小學(xué)期末總結(jié)發(fā)言稿
- 吊籃施工風(fēng)險分級管控與隱患排查治理(匯編)
- 中級消防設(shè)施操作員考試題庫
- 車間維修工培訓(xùn)課件
- 3D打印與傳統(tǒng)工藝美術(shù)的融合創(chuàng)新
- 安全管理工作中形式主義及防止對策
- 2024年鄭州信息科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 藍(lán)牙基礎(chǔ)知識全解課件
- 運(yùn)動損傷預(yù)防與處理的案例分析
- 第四次工業(yè)革命課件
- 2023-2024學(xué)年西安市高二數(shù)學(xué)第一學(xué)期期末考試卷附答案解析
- 企業(yè)2024年年度安全教育培訓(xùn)計劃
評論
0/150
提交評論