學生選修課管理系統-C++課程設計教學內容_第1頁
學生選修課管理系統-C++課程設計教學內容_第2頁
學生選修課管理系統-C++課程設計教學內容_第3頁
學生選修課管理系統-C++課程設計教學內容_第4頁
學生選修課管理系統-C++課程設計教學內容_第5頁
已閱讀5頁,還剩55頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、生選修課管理系統-C+課程設計精品文檔收集于網絡,如有侵權請聯系管理員刪除#include#include#include#include#include/usingnamespacestd;constintcount=3;classsituaction;classstudentpublic:intsno;charsname20;charsex3;intage;chardepart20;charclassno20;charlianx40;/public:friendvoidsselect();friendvoidsupdate();friendvoidsdelet();friendvoidsa

2、ccount();friendvoidsdisplay();friendistream&operator(istream&in,student&stu)instu.snostu.snamestu.sexstu.agestu.departstu.classnostu.lianx;returnin;friendostream&operator(ostream&out,student&stu)outstu.snostu.snamestu.sexstu.agestu.departstu.classnostu.lianxendl;returnout;friendvoidxkadd();friendvoi

3、dsadd();voidsadd()while(1)intflag1=0;students;cout請輸入要添加的學生的學號、姓名、性別、年齡、系別、班級、聯系方式s;ifstreamin(e:studenfile.txt);if(!in)cout打開學生信息文件失敗!endl;return;studentstu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(s.sno=stu.sno)flag1=1;break;in.read(char*)&stu,sizeof(student);in.close();if(flag1=1)cout

4、該學生已經在文件中存在不允許添加!endl;elseofstreamout(e:studenfile.txt,ios二app);out.write(char*)&s,sizeof(student);out.close();system(pause);break;voidsselect()while(1)system(cls);cout*請選擇要查詢的類別:*endl;cout*按學生學號請按1:*endl;cout*按學生姓名請按2:*endl;cout*按學生系別請按3:*endl;cout*按學生班級請按4:*endl;cout*返回上一級界面請按5:*sn;while(sn5|sn1)c

5、out選擇的數據無效,請重新輸入:sn;coutendl;ifstreamin(e:studentfile.txt);if(!in)cout打開學生信息文件失敗!endl;return;intflag=0;switch(sn)intno;cout請輸入要查詢白學生的學號no;studentstu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(no=stu.sno)coutstuendl;flag=1;in.read(char*)&stu,sizeof(student);break;charname20;cout請輸入要查詢白學生的姓名

6、name;studentstu;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;chardep20;cout請輸入要查詢白學生的系別dep;studentstu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(strcmp(dep,stu.depart)=0)coutstuendl;flag=1;in.read(

7、char*)&stu,sizeof(student);break;charclno20;cout請輸入要查詢白學生的班級clno;studentstu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(strcmp(clno,stu.classno)=0)coutstuendl;flag=1;in.read(char*)&stu,sizeof(student);break;return;in.close();if(flag=0)cout”要查詢的學生在文件不存在!endl;system(pause);voidsupdate()while(

8、1)system(cls);cout*請選擇按下列類別查詢后修改:*endl;cout*按學生學號請按1:*endl;cout*按學生姓名請按2:*endl;cout*按學生系別請按3:*endl;cout*按學生班級請按4:*endl;cout*返回上一級界面請按5:*sn;while(sn5|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;fstreamin(e:studenfile.txt,ios:in|ios:out);if(!in)cout打開學生信息文件失敗!endl;return;intflag=0;switch(sn)intno;cout請輸入要查詢白學生的

9、學號no;studentstu;inti=0;in.seekg(i*sizeof(student),ios二beg);in.read(char*)&stu,sizeof(student);while(!in.eof()if(no=stu.sno)coutstuendl;cout青輸入要修改的學生的學號、姓名、性別、年齡、系別、班級、聯系方式“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.rea

10、d(char*)&stu,sizeof(student);break;return;in.close();if(flag=0)cout”要修改的學生在文件不存在!endl;system(pause);voidsdelet()while(1)system(cls);cout*請選擇按下歹U類別查詢后刪除:*endl;cout*按學生學號請按1:*endl;cout*按學生姓名請按2:*endl;cout*按學生系別請按3:*endl;cout*按學生班級請按4:*endl;cout*返回級界面請按5:*sn;while(sn5|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;

11、studentstu20;intflag=0;switch(sn)ifstreamin(e:studenfile.txt);if(!in)cout打開學生信息文件失敗!endl;return;intn=0;in.read(char*)&stun,sizeof(student);while(!in.eof()n+;in.read(char*)&stun,sizeof(student);in.close();intno;cout請輸入要刪除白學生的學號no;for(inti=0;in;i+)if(no=stui.sno)coutstuiendl;cout是否要刪除該學生的信息!ch;if(ch=Y

12、|ch=y)for(intj=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0)cout”要修改的學生在文件不存在!endl;elseofstreamout(e:studenfile.txt);if(!out)cout打開學生信息文件失敗!endl;return;for(intk=0;kn;k+)out.seekp(k*sizeof(student),ios二beg);out.whte(char*)&stuk,sizeof(student);out.close();break;return;system(pause);voidsaccount()ifstreami

13、fs(e:studentfile.txt);if(!ifs)cout打開文件失敗!;system(pause);return;inti=0;students;ifs.read(char*)&s,sizeof(student);while(!ifs.eof()i+;ifs.read(char*)&s,sizeof(student);ifs.close();cout學生:i人endl;ifs.close();system(pause);voidsdisplay()ifstreamin(e:studentfile.txt,ios:in);if(!in)cout打開學生信息文件失敗!endl;retu

14、rn;studentstu;in.read(char*)&stu,sizeof(student);while(!in.eof()coutstu(istream&in,course&cou)amecou.cxzcou.zxscou.xfcou.kcxqcou.xxrs;returnin;)friendostream&operator(ostream&out,course&cou)amecou.cxzcou.zxscou.xfcou.kcxqcou.xxrsendl;returnout;)friendvoidxkadd(););voidcadd()intflag1=0;coursec;cout請輸

15、入要添加的課程的課程代碼、課程名稱、課程性質、總學時、學分、開課學期、選修人數“c;ifstreamin(e:coursefile.txt);if(!in)cout打開課程信息文件失敗!endl;return;coursecou;in.read(char*)&cou,sizeof(course);while(!in.eof()if(o=o)flag1=1;break;in.read(char*)&cou,sizeof(course);in.close();if(flag1=1)cout該課程已經在文件中存在不允許添加!endl;elseofstreamout(e:coursefile.txt,

16、ios二app);out.write(char*)&c,sizeof(course);out.close();system(pause);voidcselect()while(1)system(cls);cout*請選擇要查詢的類別:*endl;cout*按課程編號請按1:*endl;cout*按課程名稱請按2:*endl;cout*返回上一級界面請按3:*sn;while(sn3|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;ifstreamin(e:coursefile.txt);if(!in)cout打開課程信息文件失敗!endl;return;intflag=0;

17、switch(sn)intno;cout請輸入要查詢白課程的編號no;courseke;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;charname25;cout請輸入要查詢白課程的名稱name;courseke;in.read(char*)&ke,sizeof(course);while(!in.eof()if(strcpy(name,ame)

18、=0)coutkeendl;flag=1;in.read(char*)&ke,sizeof(course);break;return;in.close();if(flag=0)cout”要查詢的課程在文件不存在!endl;system(pause);voidcupdate()while(1)system(cls);cout*請選擇按卜列類別查詢后修改:*endi;cout*按課程編號請按1:*endl;cout*按課程名稱請按2:*endl;cout*按課程性質請按3:*endl;cout*按課程學分請按4:*endl;cout*返回上-級界面請按5:*sn;while(sn5|sn1)cou

19、t選擇的數據無效,請重新輸入:sn;coutendl;fstreamin(e:studenfile.txt,ios:in|ios:out);if(!in)cout打開課程信息文件失敗!endl;return;intflag=0;switch(sn)intno;cout請輸入要查詢白課程的編號no;coursek;inti=0;in.seekg(i*sizeof(course),ios:beg);in.read(char*)&k,sizeof(course);while(!in.eof()if(no=o)coutkendl;質,學分cout青輸入要修改的課程的編號,名稱,k;in.seekp(i

20、*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;intno;cout請輸入要查詢白學生的學號no;studentstu;inti=0;in.seekg(i*sizeof(student),ios二beg);in.read(char*)&stu,sizeof(student);endl;while(!in.eof()if(no=stu.sno)coutstuendl

21、;coutstu;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;case3:return;in.close();if(flag=0)cout”要修改的選課信息在文件不存在!endl;system(pause);voidcdelet()while(1)system(cls);cout*請選擇按下列類別查詢后刪除:*endi;co

22、ut*按課程編號請按1:*endl;cout*按課程名稱請按2:*endl;cout*返回上一級界面請按3:*sn;while(sn3|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;coursek20;intflag=0;switch(sn)case1:ifstreamin(e:coursefile.txt);if(!in)cout打開課程信息文件失敗!endl;return;intn=0;in.read(char*)&kn,sizeof(course);while(!in.eof()n+;in.read(char*)&kn,sizeof(course);in.close

23、();intno;cout請輸入要刪除白課程的編號no;for(inti=0;in;i+)if(no=o)coutkiendl;cout是否要刪除該課程的信息!ch;if(ch=Y|ch=y)for(intj=i;jn;j+)kj=kj+1;n-;flag=1;if(flag=0)cout”要修改的課程在文件不存在!endl;elseofstreamout(e:coursefile.txt);if(!out)cout,打開課程信息文件失敗!endl;return;for(inti=0;in;i+)out.seekp(i*sizeof(course),ios二beg);out.write(cha

24、r*)&ki,sizeof(course);out.close();break;case5:return;system(pause);voidcaccount()ifstreamifs(d:coursefile.txt);if(!ifs)cout打開文件失敗!;system(pause);return;inti=0;courseke;ifs.read(char*)&ke,sizeof(course);while(!ifs.eof()i+;ifs.read(char*)&ke,sizeof(course);ifs.close();cout課程:i門endl;ifs.close();system(

25、pause);voidcdisplay()ifstreamin(e:coursefile.txt);if(!in)cout打開課程信息文件失敗!endl;return;coursecou;in.read(char*)&cou,sizeof(course);while(!in.eof()cout(istream&in,situaction&si)o;si.score=0;returnin;friendostream&operator(ostream&out,situaction&si)osi.scoreendl;returnout;;voidxkadd()situactionxk;cout請輸入

26、要選修的學號、課程號xk;intflag1=0,flag2=0;ifstreamin1(e:studentfile.txt);if(!in1)cout打開學生信息文件失敗!endl;return;studentstu;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該學生不存在不允許選課!endl;elsecoursecou;ifstreamin2(e

27、:coursefile.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;elsesituactionsi;intscount=0,ccount=0;ifstreamin3(e:situationfile.txt);if(!in3)cout,打開選課文件失敗!endl;

28、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();if(cou.xxrs=scount)cout該課程人數已滿不允許選課!endl;elseif(count=ccount)cout修學生已選滿count不允許選課!endl;elseofstreamout(e:situactionfile.txt,ios二app);out.whte(char*)&

29、xk,sizeof(situaction);out.close();system(pause);voidxkselect()while(1)system(cls);cout”*請選擇要查詢的類別:*endl;cout*按學生編號請按1:*IIendl;cout*按課程編號請按2:*endl;cout*返回上一級界面請按3:*sn;while(sn3|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;ifstreamin(e:situactionfile.txt);if(!in)cout打開選課信息文件失敗!endl;return;intflag=0;switch(sn)int

30、no;cout請輸入要查詢白學生的學號no;situactionstu;in.read(char*)&stu,sizeof(situaction);while(!in.eof()if(no=stu.sno)coutstuendl;flag=1;in.read(char*)&stu,sizeof(situaction);break;intno;cout請輸入要查詢白課程的編號no;situactionke;in.read(char*)&ke,sizeof(situaction);while(!in.eof()if(no=o)coutkeendl;flag=1;in.read(char*)&ke,

31、sizeof(situaction);/if(no=ke.char*)&ke,sizeof(course);break;return;in.close();if(flag=0)cout”要查詢的選課在文件不存在!endl;system(pause);voidxkupdate()while(1)system(cls);cout*請選擇按下列類別查詢后修改:*endl,cout*按課程編號請按1:*endl;cout*按學生學號請按2:*endl;cout*返回上一級界面請按3:*sn;while(sn3|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;fstreamin(e:

32、situactionfile.txt,ios:in|ios:out);if(!in)cout打開選課信息文件失敗!endl;return;intflag=0;switch(sn)intno;cout請輸入要查詢白課程的編號no;situactionsi;inti=0;in.seekg(i*sizeof(situaction),ios二beg);in.read(char*)&si,sizeof(situaction);while(!in.eof()if(no=o)coutsiendl;cout青輸入要修改的選課信息的學生學號,選課信息成績si;in.seekp(i*sizeof(situacti

33、on),ios二beg);in.whte(char*)&si,sizeof(situaction);flag=1;i+;in.seekg(i*sizeof(situaction),ios二beg);in.read(char*)&si,sizeof(situaction);break;intno;cout請輸入要查詢白學生的學號no;studentstu;inti=0;in.seekg(i*sizeof(student),ios二beg);in.read(char*)&stu,sizeof(student);while(!in.eof()if(no=stu.sno)coutstuendl;cou

34、t青輸入要修改的選課信息的學生學號,選課信息成績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,sizeof(situaction);break;return;in.close();if(flag=0)cout”要修改的課程在文件不存在!endl;system(pause);voidxkdelet()while(1)system(cls);cou

35、t*請選擇類別查詢BU除:*endl;cout*按學生學號請按1:*endl;cout*按課程編號請按2:*endl;cout*返回級界面請按3:*sn;while(sn3|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;studentstu20;coursek20;intflag=0;switch(sn)ifstreamin(e:situactionfile.txt);if(!in)cout打開學生信息文件失敗!endl;return;intn=0;in.read(char*)&stun,sizeof(student);while(!in.eof()n+;in.read(

36、char*)&stun,sizeof(student);in.close();intno;cout請輸入要刪除白學生的學號no;for(inti=0;in;i+)if(no=stui.sno)coutstuiendl;cout是否要刪除該學生的選課信息!ch;if(ch=Y|ch=y)for(intj=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0)cout”要修改的學生在文件不存在!endl;elseofstreamout(e:studenfile.txt);if(!out)cout打開學生信息文件失敗!endl;return;for(intk=0;kn;k+

37、)out.seekp(k*sizeof(student),ios二beg);out.write(char*)&stuk,sizeof(student);out.close();break;ifstreamin(e:situactionfile.txt);if(!in)cout打開課程信息文件失敗!endl;return;intn=0;in.read(char*)&kn,sizeof(course);while(!in.eof()n+;in.read(char*)&kn,sizeof(course);in.close();intno;cout請輸入要刪除白課程的編號no;for(inti=0;i

38、n;i+)if(no=o)coutkiendl;cout是否要刪除該課程的信息!ch;if(ch=Y|ch=y)for(intj=i;jn;j+)kj=kj+1;n-;flag=1;if(flag=0)cout”要修改的課程在文件不存在!endl;elseofstreamout(e:coursefile.txt);if(!out)cout,打開課程信息文件失敗!endl;return;for(inti=0;in;i+)out.seekp(i*sizeof(course),ios二beg);out.write(char*)&ki,sizeof(course);out.close();break;

39、system(pause);voidxkaccount()ifstreamofs(e:situactionfile.txt);if(!ofs)cout打開文件失敗!;system(pause);return;inti=0;intsn=0,sscore=0;intcn=0,cscore=0;intsno;cout輸入要統計的學生編號sno;intcno;cout輸入要統計的課程編號cno;situactionsi;ofs.read(char*)&si,sizeof(situaction);while(!ofs.eof()if(si.sno=sno)sn+;sscore+=si.score;if(

40、o=cno)cn+;cscore+=si.score;ofs.read(char*)&si,sizeof(situaction);ofs.close();coutsno同學已經選課:sn門其平均成績:(float)sscore/snendl;coutcno門課程已經選課:cn人該課程的平均成績:(float)cscore/cnendl;ofs.close();system(pause);voidxkdisplay()ifstreamin(e:situactionfile.txt);if(!in)cout打開課程信息文件失敗!endl;return;situactionsi;in.read(ch

41、ar*)&si,sizeof(situaction);while(!in.eof()coutsi;in.read(char*)&si,sizeof(situaction);in.close();system(pause);voidaddmenu()while(1)system(cls);cout*請選修要添力口信息的類別:*endl;cout*學生信息添加請按1:*endl;cout*課程信息添加請按2:*endcout*選課信息添加請按3:*endcout*返回主界面請按4:*sn;while(sn4|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;switch(sn)s

42、add();break;cadd();break;xkadd();break;return;system(pause);voidselectmenu()while(1)system(cls);cout*請選修要查詢信息的類別:*endi;cout*學生信息查詢請按1:*endi;cout*課程信息查詢請按2:*endcout*選課信息查詢請按3:*endcout*返回主界面請按4:*sn;while(sn4|sn1)cout選擇的數據無效,請重新輸入:sn;coutendl;switch(sn)sselect();break;cselect();break;xkselect();break;return;system(pause);voiddeletmenu()whi

溫馨提示

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

評論

0/150

提交評論