




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、#include#include#include#include #include /using namespace std;const int count =3;class situaction;class student public:int sno;char sname20;char sex3;int age;char depart20;char classno20;char lianx40;/public:friend void sselect();friend void supdate();friend void sdelet();friend void saccount();fri
2、end void sdisplay();friend istream & operator (istream & in,student &stu) instu.snostu.snamestu.sexstu.agestu.departstu.classnostu.lianx; return in;friend ostream & operator ( ostream & out,student &stu)outstu.sno stu.sname stu.sex stu.age stu.depart stu.classno stu.lianxendl;return out;friend void
3、xkadd();friend void sadd();void sadd() while(1)int flag1=0;student s;cout 請輸入要添加的學(xué)生的學(xué)號、 姓名、 性別、 年齡、 系別、 班級、 聯(lián)系方式 s;ifstream in(e:studentfile.txt);if(!in)cout 打開學(xué)生信息文件失??! endl; return ;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(s.sno=stu.sno) flag1=1; break;in.read(char*)&stu,si
4、zeof(student);in.close();if(flag1=1) cout 該學(xué)生已經(jīng)在文件中存在不允許添加! endl; else ofstream out(e:studentfile.txt,ios:app); out.write(char*)&s,sizeof(student);out.close(); system(pause);break;void sselect() while(1) system(cls);cout*請選擇要查詢的類別:*endl;cout*按學(xué)生學(xué)號請按1:* endl;cout*按學(xué)生姓名請按2:*endl;cout*按學(xué)生系別請按3:*endl;co
5、ut*按學(xué)生班級請按4:*endl;cout*返回上一級界面請按5:*sn;while(sn5|snsn;coutendl;ifstream in(e:studentfile.txt);if(!in) cout 打開學(xué)生信息文件失?。?endl; return ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的學(xué)生的學(xué)號 no;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) coutstuendl; flag=1; in.read(char
6、*)&stu,sizeof(student); break;case 2: char name20;cout 請輸入要查詢的學(xué)生的姓名 name;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(strcpy(name,stu.sname)=0) coutstuendl;flag=1;in.read(char*)&stu,sizeof(student);break;case 3: char dep20;cout 請輸入要查詢的學(xué)生的系別 dep;student stu;in.read(char*)&stu,siz
7、eof(student);if(flag=0) cout 要修改的學(xué)生在文件不存在! endl;while(!in.eof() if(strcmp(dep,stu.depart)=0) coutstuendl; flag=1; in.read(char*)&stu,sizeof(student);break;case 4: char clno20;cout 請輸入要查詢的學(xué)生的班級 clno;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(strcmp(clno,stu.classno)=0) coutstue
8、ndl; flag=1;in.read(char*)&stu,sizeof(student);break;case 5:in.close();return ;if(flag=0) cout 要查詢的學(xué)生在文件不存在! endl; system(pause);void supdate() system(cls);cout*endl; while(1)cout*按學(xué)生學(xué)號請按1:* endl;t*按學(xué)生姓名請按 2:*endl;cout*按學(xué)生系別請按3:*endl;cout*按學(xué)生班級請按4:*endl;cout*返回上一級界面請按5:*sn; while(sn5|sn1) fstream in
9、(e:studentfile.txt,ios:in|ios:out);if(!in) cout 打開學(xué)生信息文件失??! endl;return ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的學(xué)生的學(xué)號 no;student stu;int i=0;in.seekg(i*sizeof(student),ios:beg); in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) coutstuendl;cout 請輸入要修改的學(xué)生的學(xué)號、姓名、性別、 年齡、系別、班級、聯(lián)
10、系方式 stu; in.seekp(i*sizeof(student),ios:beg); in.write(char*)&stu,sizeof(student); flag=1;i+;in.seekg(i*sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);break;case 2:case 3:case 4:case 5:return ;in.close();system(pause);void sdelet() while(1) system(cls);cout* 請選擇按下列類別查詢后刪除: *endl;cout*按學(xué)
11、生學(xué)號請按1:* endl;cout*按學(xué)生姓名請按 2:*endl;cout*按學(xué)生系別請按3:*endl;cout*按學(xué)生班級請按4:*endl;cout*返回上一級界面請按5:*sn;while(sn5|sn1)coutendl;student stu20;int flag=0;switch(sn)case 1: ifstream in(e:studentfile.txt);if(!in)endl; cout 打開學(xué)生信息文件失敗!return ;int n=0;in.read(char*)&stun,sizeof(student);while(!in.eof() n+;in.read(
12、char*)&stun,sizeof(student);in.close();int no;cout 請輸入要?jiǎng)h除的學(xué)生的學(xué)號 no;for(int i=0;in;i+) if(no=stui.sno) coutstuiendl;cout 是否要?jiǎng)h除該學(xué)生的信息! ch;if( ch=Y|ch=y)for(int j=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout 要 修 改 的 學(xué) 生 在 文 件 不 存 在 ! endl;elseofstream out(e:studentfile.txt);if(!out) cout 打開學(xué)生信息文件失?。?e
13、ndl;return ;for(int k=0;kn;k+) out.seekp(k*sizeof(student),ios:beg);out.write(char*)&stuk,sizeof(student);out.close();break;case 2:case 3:case 4:case 5: return ;system(pause);void saccount()ifstream ifs(e:studentfile.txt);if(!ifs)cout 打開文件失?。?system(pause);return ;int i=0;student s;ifs.read(char*)&s
14、,sizeof(student);while(!ifs.eof()i+;ifs.read(char*)&s,sizeof(student);ifs.close();cout 學(xué)生: i 人 endl;ifs.close();system(pause);void sdisplay() ifstream in(e:studentfile.txt,ios:in);if(!in)endl;cout 打開學(xué)生信息文件失敗!return ;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() coutstu (istream & in
15、, course &cou) amecou.cxzcou.zxscou.xfcou.kcxqcou.xxrs;return in;friend ostream & operator (ostream & out,course &cou) o ame cou.cxz cou.zxs cou.xf cou.kcxq cou.xxrsendl;return out;friend void xkadd();void cadd() int flag1=0;course c;cout 請輸入要添加的課程的課程代碼、課程名稱、課程性質(zhì)、總學(xué)時(shí)、學(xué)分
16、、開課學(xué) 期、選修人數(shù) c;ifstream in(e:coursefile.txt);if(!in)cout 打開課程信息文件失??! endl; return ;course cou;in.read(char*)&cou,sizeof(course);while(!in.eof() if(o=o) flag1=1; break;in.read(char*)&cou,sizeof( course);in.close(); endl;if(flag1=1) cout 該課程已經(jīng)在文件中存在不允許添加! else ofstream out(e:coursefile.txt,io
17、s:app);out.write(char*)&c,sizeof(course);out.close();system(pause);void cselect() while(1) system(cls);cout*請選擇要查詢的類別:*endl;cout*按課程編號請按1: * endl;cout*按課程名稱請按 2:*endl;cout*返回上一級界面 請按3: *sn;while(sn3|sn1)cout 選擇的數(shù)據(jù)無效,請重新輸入: sn;coutendl;ifstream in(e:coursefile.txt);if(!in) cout 打開課程信息文件失?。?endl;retur
18、n ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的課程的編號 no;course ke;in.read(char*)&ke,sizeof(course);while(!in.eof() if(no=o) coutkeendl; flag=1;in.read(char*)&ke,sizeof(course);/if(no=ke. char*)&ke,sizeof(course);break;case 2: char name25;cout 請輸入要查詢的課程的名稱 name;course ke;in.read(char*)&ke,si
19、zeof(course);while(!in.eof() if(strcpy(name,ame)=0) coutkeendl; flag=1;in.read(char*)&ke,sizeof(course);break;case 3: return ;in.close();if(flag=0) cout 要查詢的課程在文件不存在! endl; system(pause);void cupdate() while(1) system(cls);cout* 請選擇按下列類別查詢后修改: *ecout* 按課程編號請按 1: * endl;cout*按課程名稱請按 2:*endl;cout
20、*按課程性質(zhì)請按3:*endl;cout*按課程學(xué)分請按4:*endl;cout*返回上一級界面請按5:*sn;while(sn5|sn1)cout 選擇的數(shù)據(jù)無效,請重新輸入:sn;coutendl;fstream in(e:studentfile.txt,ios:in|ios:out); if(!in) cout 打開課程信息文件失??! endl;return ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的課程的編號 no;course k;int i=0;in.seekg(i*sizeof(course),ios:beg);in.rea
21、d(char*)&k,sizeof(course);while(!in.eof() if(no=o)性質(zhì), coutkendl;學(xué)分 endl;coutk;in.seekp(i*sizeof(course),ios:beg);in.write(char*)&k,sizeof(course);flag=1;i+;in.seekg(i*sizeof(course),ios:beg);in.read(char*)&k,sizeof(course);break;case 2: int no;cout 請輸入要查詢的學(xué)生的學(xué)號 no;student stu;int i=0;in.seekg(i*
22、sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) coutstuendl;cout 請輸入要修改的的課程的編號, 名稱,性質(zhì), 學(xué)分 stu;in.seekp(i*sizeof(student),ios:beg);in.write(char*)&stu,sizeof(student);flag=1;i+;in.seekg(i*sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);break;case
23、 3:return ;in.close();if(flag=0) cout 要修改的選課信息在文件不存在! endl; system(pause);void cdelet() while(1) system(cls);cout*請選擇按下列類別查詢后刪除: *endl;cout*按課程編號請按 1:* endl;cout*按課程名稱請按 2: *endl;cout*返回上一級界面 請按 3: *sn;while(sn3|sn1)cout 選擇的數(shù)據(jù)無效,請重新輸入: sn;coutendl;course k20;int flag=0;switch(sn)case 1: ifstream in(
24、e:coursefile.txt);if(!in) cout 打開課程信息文件失??! endl;return ;int n=0;in.read(char*)&kn,sizeof(course);while(!in.eof() n+;in.read(char*)&kn,sizeof(course);in.close();int no;cout 請輸入要?jiǎng)h除的課程的編號 no;for(int i=0;in;i+) if(no=o) coutkiendl;endl;coutch;if( ch=Y|ch=y)for(int j=i;jn;j+)kj=kj+1;n-;flag=1;endl;i
25、f(flag=0) cout 要 修 改 的 課 程 在 文 件 不 存 在 ! elseofstream out(e:coursefile.txt);if(!out) cout 打開課程信息文件失?。?endl; return ;for(int i=0;in;i+)out.seekp(i*sizeof(course),ios:beg); out.write(char*)&ki,sizeof(course);out.close();break;case 2:case 3:case 4:case 5: return ;system(pause);void caccount() ifstream
26、ifs(d:coursetfile.txt);if(!ifs)cout 打開文件失??!system(pause);return ;int i=0;course ke;ifs.read(char*)&ke,sizeof(course);while(!ifs.eof() i+;ifs.read(char*)&ke,sizeof(course);ifs.close();cout 課程: i 門 endl;ifs.close();system(pause);void cdisplay() ifstream in(e:coursefile.txt);if(!in)cout 打開課程信息文件失??! end
27、l;return ;course cou;in.read(char*)&cou,sizeof( course);while(!in.eof() cout (istream & in, situaction &si) o;si.score=0;return in;friend ostream & operator (ostream & out,situaction &si) outsi.sno o si.scoreendl;return out;void xkadd() situaction xk;cout 請輸入要選修的學(xué)號、課程號 xk;int flag1
28、=0, flag2=0;ifstream in1(e:studentfile.txt);if(!in1)cout 打開學(xué)生信息文件失?。?endl;return ;student stu;in1.read(char*)&stu,sizeof(student);while(!in1.eof() if(xk.sno=stu.sno) flag1=1; break;in1.read(char*)&stu,sizeof(student);in1.close();if(flag1=0) cout 該學(xué)生不存在不允許選課! endl;else course cou;ifstream in2(e:cours
29、efile.txt);if(!in2)cout 打開課程文件失?。?endl;return ;in2.read(char*)&cou,sizeof(course);while(!in2.eof() if(o=o) flag2=1; break; in2.read(char*)&cou,sizeof(course);in2.close();if(flag2=0) cout 該課程不存在不允許選課! endl;else situaction si;int scount=0,ccount=0;ifstream in3(e:situationfile.txt);if(!in3)c
30、out 打開選課文件失?。?endl;return ;in3.read(char*)&si,sizeof(situaction);while(!in3.eof() if(xk.sno=si.sno) ccount+;if(o=o) scount+;in3.read(char*)&si,sizeof(situaction);in3.close(); endl;不允許選課!if(cou.xxrs=scount) cout 該課程人數(shù)已滿不允許選課!else if(count=ccount) cout 該學(xué)生已選滿 countendl;else ofstream out(e:si
31、tuactionfile.txt,ios:app);out.write(char*)&xk,sizeof(situaction);out.close();system(pause);void xkselect() while(1) system(cls);cout*請選擇要查詢的類別:*endl;cout*按學(xué)生編號請按1:* endl;cout*按課程編號請按2:* endl;cout*返回上一級界面請按3:*sn;while(sn3|sn1)cout 選擇的數(shù)據(jù)無效,請重新輸入:sn;coutendl;ifstream in(e:situactionfile.txt);if(!in) co
32、ut 打開選課信息文件失??! endl;return ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的學(xué)生的學(xué)號 no;situaction stu;in.read(char*)&stu,sizeof(situaction);while(!in.eof() if(no=stu.sno) coutstuendl; flag=1;in.read(char*)&stu,sizeof(situaction);break;case 2: int no;cout 請輸入要查詢的課程的編號 no;situaction ke;in.read(char*)&ke
33、,sizeof(situaction);while(!in.eof()if(no=o) coutkeendl; flag=1;in.read(char*)&ke,sizeof(situaction);/ if(no=ke. char*)&ke,sizeof(course);break;case 3: return ;in.close();if(flag=0) cout要查詢的選課在文件不存在! endl;i+;system(pause);void xkupdate()while(1)*endl; system(cls);cout*按課程編號請按1:* endl;cout*按學(xué)生學(xué)號請
34、按2:*endl;cout*返回上一級界面請按3:*endl;coutsn;while(sn3|snsn;coutendl;fstream in(e:situactionfile.txt,ios:in|ios:out);if(!in) cout 打開選課信息文件失??! endl;return ;int flag=0;switch(sn)case 1: int no;cout 請輸入要查詢的課程的編號 no;situaction si;int i=0;in.seekg(i*sizeof(situaction),ios:beg);in.read(char*)&si,sizeof(situactio
35、n);while(!in.eof() if(no=o) coutsiendl;選課cout 請輸入要修改的選課信息的學(xué)生學(xué)號, 信息,成績 si;in.seekp(i*sizeof(situaction),ios:beg); in.write(char*)&si,sizeof(situaction); flag=1;in.seekg(i*sizeof(situaction),ios:beg);in.read(char*)&si,sizeof(situaction);break;case 2: int no;cout 請輸入要查詢的學(xué)生的學(xué)號 no;student stu;int i=
36、0;in.seekg(i*sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno)選課 coutstuendl;cout 請輸入要修改的選課信息的學(xué)生學(xué)號,信息,成績 stu;in.seekp(i*sizeof(situaction),ios:beg);in.write(char*)&stu,sizeof(situaction); flag=1;i+;in.seekg(i*sizeof(situaction),ios:beg); in.read(char*)&stu,si
37、zeof(situaction);break;case 3: return ;in.close();if(flag=0) cout 要修改的課程在文件不存在! endl;system(pause);void xkdelet() while(1) system(cls);cout*請選擇按下列類別查詢后刪除: *endl;cout*按學(xué)生學(xué)號請按 1:* endl;cout*按課程編號 請按 2: *endl;cout*返回上一級界面 請按 3: *sn;while(sn3|sn1)cout 選擇的數(shù)據(jù)無效,請重新輸入: sn;coutendl;student stu20;course k20;
38、int flag=0;switch(sn)case 1: ifstream in(e:situactionfile.txt);if(!in) cout 打開學(xué)生信息文件失??! endl; return ;int n=0;in.read(char*)&stun,sizeof(student); while(!in.eof() n+; in.read(char*)&stun,sizeof(student);in.close();int no;cout 請輸入要?jiǎng)h除的學(xué)生的學(xué)號 no;for(int i=0;in;i+) if(no=stui.sno) coutstuiendl;endl;coutc
39、h;if( ch=Y|ch=y)for(int j=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout 要 修 改 的 學(xué) 生 在 文 件 不 存 在 ! endl;elseofstream out(e:studentfile.txt);if(!out) cout 打開學(xué)生信息文件失?。?endl;return ;for(int k=0;kn;k+) out.seekp(k*sizeof(student),ios:beg);out.write(char*)&stuk,sizeof(student);out.close();break;case 2: ifstream in(e:situactionfile.txt);if(!in)endl; cout 打開課程信息文件失?。eturn ;int n=0;in.read(char*)&kn,sizeof(course);while(!in.eof() n+;in.read(char*)&kn,sizeof(course);in.close(
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度婚介加盟店?duì)I銷策劃合同
- 2025年度連鎖教育機(jī)構(gòu)加盟合作協(xié)議模板
- 2025年度桶裝水產(chǎn)品研發(fā)與創(chuàng)新合作協(xié)議
- 履帶罐車轉(zhuǎn)讓協(xié)議(含2025年度技術(shù)升級服務(wù))
- 二零二五年度跨境電商傭金分成及電子支付安全協(xié)議
- 2025年度窗簾產(chǎn)品售后服務(wù)及質(zhì)量保證合同
- 二零二五年度中高齡員工勞動(dòng)權(quán)益保護(hù)合同
- 2025年度資產(chǎn)重組委托拍賣合同模板
- 二零二五年度耕地承包與農(nóng)業(yè)品牌推廣合作協(xié)議
- 二零二五年度電影聘用合同范本:科幻片特效演員合作協(xié)議
- 《智能家居系統(tǒng)》課件
- 基礎(chǔ)模塊下冊《中國人民站起來了》2
- 繼電保護(hù)業(yè)務(wù)技能實(shí)操題庫
- 車間6S管理實(shí)施方案
- 廣州預(yù)拌混凝土行業(yè)發(fā)展專項(xiàng)規(guī)劃
- 【教案】 人民音樂家 教案高中人音版(2019)必修《音樂鑒賞》
- 河南省中等職業(yè)教育技能大賽組委會辦公室
- 四年級數(shù)學(xué)下冊 七 三角形、 平行四邊形和梯形 1 三角形的認(rèn)識課件 蘇教版 課件
- 武漢市城中村綜合改造掛牌出讓土地成本測算
- 員工請假管理制度-員工請假管理制度范文
- 高考英語聽力試音文本
評論
0/150
提交評論