




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 voidsselect();friend voidsupdate();friend voidsdelet();friend voidsaccount();friend
2、voidsdisplay();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.sexstu.agestu.depart stu.classno stu.lianxendl;return out;friend voidxkadd();f
3、riend voidsadd();void sadd() while(1)int flag1=0;student s;cout 请输入要添加的学生的学号、 姓名、 性别、 年龄、 系别、 班级、 联系方式 s;ifstream in(e:studentfile.txt);if(!in)cout 打开学生信息文件失败! 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,sizeof(stu
4、dent);in.close();if(flag1=1) cout 该学生已经在文件中存在不允许添加! 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*按学生学号请按1:* endl;cout*按学生姓名请按2:*endl;cout*按学生系别请按3:*endl;cout*按学生班级请按
5、4:*endl;cout*返回上一级界面请按5:*sn;while(sn5|sn1) cout 选择的数据无效,请重新输入: sn;coutendl;ifstream in(e:studentfile.txt);if(!in)cout打开学生信息文件失败!endl;return ;int flag=0;switch(sn)case 1: int no;cout请输入要查询的学生的学号no;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) coutstuendl; flag=1; in.re
6、ad(char*)&stu,sizeof(student); break;case 2: char name20;cout 请输入要查询的学生的姓名 name;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof()flag=1;if(strcpy(name,stu.sname)=0) coutstuendl;in.read(char*)&stu,sizeof(student); break;case 3: char dep20;cout请输入要查询的学生的系别dep;student stu;in.read(char*)&st
7、u,sizeof(student);while(!in.eof() if(strcmp(dep,stu.depart)=0) coutstuendl; flag=1; in.read(char*)&stu,sizeof(student); break;case 4: char clno20;cout 请输入要查询的学生的班级clno;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(strcmp(clno,stu.classno)=0) coutstuendl;flag=1;in.read(char*)&stu,s
8、izeof(student); break;case 5: return ;in.close();if(flag=0) cout 要查询的学生在文件不存在! endl;system(pause);void supdate() while(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;
9、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;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 请输入要修改的学生的学号、姓名、
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();if(flag=0) cout 要修改的学生在文件不存在! endl;system(pause);void sdelet() while(1)
11、 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;student stu20;int flag=0;switch(sn)case 1: ifstream in(e:studentfile.txt);if(!in) cout 打开学生信息文件失败! endl;return ;
12、int n=0;in.read(char*)&stun,sizeof(student);while(!in.eof()n+;in.read(char*)&stun,sizeof(student);in.close();int no;cout 请输入要删除的学生的学号no;for(int i=0;in;i+) if(no=stui.sno) coutstuiendl;cout是否要删除该学生的信息! ch;if( ch=y|ch=y)for(int j=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout要修改的学生在文件不存在! endl;elseofst
13、ream out(e:studentfile.txt);if(!out)cout打开学生信息文件失败!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:case 3:case 4:case 5: return ;system(pause);void saccount() ifstream ifs(e:studentfile.txt);if(!ifs)cout 打开文件失败! syste
14、m(pause);return ;int i=0;student s;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);void sdisplay() ifstream in(e:studentfile.txt,ios:in);if(!in)endl;cout 打开学生信息文件失败!return ;student stu;in.read(char*)&stu,sizeo
15、f(student);while(!in.eof() coutstu (istream & in, course &cou)inoamecou.cxzcou.zxscou.xfcou.kcxqcou.xxrs;return in;friend ostream & operator (ostream & out,course &cou)outo ame cou.cxz cou.zxscou.xf cou.kcxq cou.xxrsendl;return out;friend void xkadd();void cadd() int flag1=0;course c;cout 请输入要添加的课程的
16、课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数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();if(flag1=1) cout 该课程已经在文件中存在不允许添加! endl; else ofstream out(e:coursefil
17、e.txt,ios: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 选择的数据无效,请重新输入:sn;coutendl;ifstream in(e:coursefile.txt);if(!in)cout打开课程信息文件失败!endl;re
18、turn ;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,sizeof
19、(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* 请选择按下列类别查询后修改: *endl;cout* 按课程编号请按 1: * endl;cout*按课程名称请按 2:*endl;cout*按课程性质
20、请按3: *endl;cout*按课程学分请按4: *endl;cout*返回上一级界面请按5: *sn;while(sn5|sn1)cout 选择的数据无效,请重新输入: 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.read(char*
21、)&k,sizeof(course);while(!in.eof()if(no=o)coutkendl;cout 请输入要修改的课程的编号,名称,性质,学分 k;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 请输入要查询的学生的学号no;student stu;int i=0;in.seekg(i*si
22、zeof(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.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 选择的数据无效,请重新输入: 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 请输入要删除的课程的编号no;for(int i=0;in;i+) if(no=o) coutkiendl;cout 是否要删除该课程的信息! ch;if( ch=y|ch=y)for(int j=i;jn;j+)kj=kj+1;n-;flag=
25、1;if(flag=0) cout 要 修 改 的 课 程 在 文 件 不 存 在 ! endl;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()ifstrea
26、m ifs(d:coursetfile.txt);if(!ifs)n.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 打开课程信息文件失败!
27、endl;return ;course cou;in.read(char*)&cou,sizeof( course);while(!in.eof() cout (istream & in, situaction &si) insi.snoo;si.score=0;return in;friend ostream & operator (ostream & out,situaction &si) outsi.sno o si.scoreendl;return out;void xkadd() situaction xk;cout 请输入要选修的学号、课程号xk;int flag1=0, flag
28、2=0;ifstream in1(e:studentfile.txt);if(!in1)cout 打开学生信息文件失败! 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 该学生不存在不允许选课! endl;else course cou;ifstream in2(e:coursefile.tx
29、t);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)cout 打开选课文件失败! endl
30、;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;else if(count=ccount) cout 该学生已选满count 不允许选课!endl;else ofstream out(e:situactionfile.txt,ios:app);ou
31、t.write(char*)&xk,sizeof(situaction);out.close();system(pause);void xkselect()while(1) system(cls);cout*请选择要查询的类别:*endl;cout*按学生编号请按1:* endl;cout*按课程编号请按2:* endl;cout*返回上一级界面请按3:*sn;while(sn3|sn1)cout 选择的数据无效,请重新输入:sn;coutendl;ifstream in(e:situactionfile.txt);if(!in)cout打开选课信息文件失败!endl;return ;int
32、flag=0;switch(sn)case 1: int no;cout 请输入要查询的学生的学号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,sizeof(situaction);while(!in.eof(
33、) 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;system(pause);void xkupdate()while(1) system(cls);cout* 请选择按下列类别查询后修改: *endl;cout*按课程编号请按1:* endl;cout*按学生学号请按2:*endl;cout*返回上一级
34、界面请按3:*sn;while(sn3|sn1)cout 选择的数据无效,请重新输入: sn;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(situaction);while(!
35、in.eof() if(no=o) coutsiendl;选课cout 请输入要修改的选课信息的学生学号,信息,成绩si;in.seekp(i*sizeof(situaction),ios:beg);in.write(char*)&si,sizeof(situaction);flag=1;i+;in.seekp(i*sizeof(situaction),ios:beg);in.read(char*)&si,sizeof(situaction);break;case 2: int no;cout 请输入要查询的学生的学号no;student stu;int i=0;in.seekg(i*size
36、of(student),ios:beg);in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) coutstuendl;cout 请输入要修改的选课信息的学生学号, 选课信息,成绩stu;in.write(char*)&stu,sizeof(situaction);flag=1;i+;in.seekg(i*sizeof(situaction),ios:beg);in.read(char*)&stu,sizeof(situaction);break;case 3: return ;in.close();if(flag=
37、0) cout 要修改的课程在文件不存在! endl;system(pause);void xkdelet()while(1) system(cls);cout*请选择按下列类别查询后删除: *endl;cout*按学生学号请按1: * endl;cout*按课程编号请按 2:*endl;cout*返回上一级界面请按3: *sn;while(sn3|sn1)endl;coutsn;coutendl;student stu20;course k20;int flag=0;switch(sn)case 1: ifstream in(e:situactionfile.txt);if(!in)retu
38、rn ;int n=0;in.read(char*)&stun,sizeof(student);while(!in.eof()n+;in.read(char*)&stun,sizeof(student);in.close();int no;cout 请输入要删除的学生的学号no;for(int i=0;in;i+) if(no=stui.sno) coutstuiendl;cout 是否要删除该学生的选课信息! ch;if( ch=y|ch=y)for(int j=i;jn;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout 要 修 改 的 学 生 在 文 件 不
39、 存 在 ! endl;elseofstream out(e:studentfile.txt);if(!out)cout打开学生信息文件失败!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) cout 打开课程信息文件失败! endl;return ;int n=0;in.read(char*)&kn,sizeof(course);while(!in.eof()n+;in.r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆梁平县2025年上半年事业单位公开遴选试题含答案分析
- 云南省元江哈尼族彝族傣族自治县2025年上半年事业单位公开遴选试题含答案分析
- 河北省邢台县2025年上半年事业单位公开遴选试题含答案分析
- 河北省鸡泽县2025年上半年事业单位公开遴选试题含答案分析
- 2025版高科技企业专业人力资源顾问合作协议范本下载
- 2025版石材外墙干挂工程招投标代理合同
- 2025版汽车后市场服务区域总代理协议
- 2025年度绿色物流托盘采购及使用规范合同
- 2025年度第三方担保公司跨境电商担保合同范本
- 2025年度房地产代理销售佣金结算协议范本
- 公司政治监督工作方案
- 医院培训课件:《中医病历书写基本规范及要点》
- DB42T-湖北省既有建筑幕墙可靠性鉴定技术规程
- 大中型企业安全生产标准化管理体系要求解读2025
- 2024届高三特尖班及尖子班语文教学经验交流与反思
- ISO9001内审检查表格
- 包装印刷行业安全生产培训
- 消除艾滋病、梅毒和乙肝母婴传播项目工作制度及流程(模板)
- 《非物质文化遗产》课件
- 互联网加护理服务护理管理
- 小学样园图书室安全事故应急预案(3篇)
评论
0/150
提交评论