版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<iostream.h>#include<string.h>#include<fstream.h>#include <stdlib.h>#include <time.h>/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 voi
2、dsselect();friend voidsupdate();friend voidsdelet();friend voidsaccount();friend voidsdisplay();friend istream & operator >> (istream & in,student &stu)in>>stu.sno>>stu.sname>>stu.sex>>stu.age>>stu.depart>>stu.classno>>stu.lianx; return in;
3、friend ostream & operator<< ( ostream & out,student &stu)out<<stu.sno<<" "<<stu.sname<<" "<<stu.sex<<""<<stu.age<<""<<stu.depart<<" "<<stu.classno<<" "
4、;<<stu.lianx<<endl;return out;friend voidxkadd();friend voidsadd();void sadd() while(1)int flag1=0;student s;cout<<" 请输入要添加的学生的学号、 姓名、 性别、 年龄、 系别、 班级、 联系方式 "<<endl;cin>>s;ifstream in("e:studentfile.txt");if(!in)cout<<" 打开学生信息文件失败! "&l
5、t;<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(student);in.close();if(flag1=1) cout<<" 该学生已经在文件中存在不允许添加! " <<endl;else ofstream out("e:studentfile.txt",ios:app); ou
6、t.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<<"*按学生系别请
7、按3:*"<<endl;cout<<"*按学生班级请按4:*"<<endl;cout<<"*返回上一级界面请按5:*"<<endl;int sn;cin>>sn;while(sn>5|sn<1) cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;ifstream in("e:studentfile.txt");if(!in)c
8、out<<"打开学生信息文件失败!"<<endl;return ;int flag=0;switch(sn)case 1: int no;cout<<"请输入要查询的学生的学号"<<endl;cin>>no;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) cout<<stu<<endl; flag=1; in.read(char*)&stu,size
9、of(student); break;case 2: char name20;cout<<" 请输入要查询的学生的姓名 "<<endl;cin>>name;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof()flag=1;if(strcpy(name,stu.sname)=0) cout<<stu<<endl;in.read(char*)&stu,sizeof(student); break;case 3: char dep20
10、;cout<<"请输入要查询的学生的系别"<<endl;cin>>dep;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() if(strcmp(dep,stu.depart)=0) cout<<stu<<endl; flag=1; in.read(char*)&stu,sizeof(student); break;case 4: char clno20;cout<<" 请输入要查询的学生的班级"
11、;<<endl;cin>>clno;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof()if(strcmp(clno,stu.classno)=0) cout<<stu<<endl;flag=1;in.read(char*)&stu,sizeof(student); break;case 5: return ;in.close();if(flag=0) cout<<" 要查询的学生在文件不存在! " <<endl;s
12、ystem("pause");void supdate() while(1) system("cls");cout<<"* 请选择按下列类别查询后修改: *"<<endl;cout<<"*按学生学号请按1:* "<<endl;cout<<"*按学生姓名请按 2:*"<<endl;cout<<"*按学生系别请按3:*"<<endl;cout<<"*按学生班级请按
13、4:*"<<endl;cout<<"*返回上一级界面请按5:*"<<endl;int sn;cin>>sn;while(sn>5|sn<1)cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;fstream in("e:studentfile.txt",ios:in|ios:out);if(!in)cout<<"打开学生信息文件失败!"&l
14、t;<endl;return ;int flag=0;switch(sn)case 1: int no;cout<<" 请输入要查询的学生的学号"<<endl;cin>>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) cout<<stu<<endl;cout<<" 请输入要修改的学
15、生的学号、姓名、性别、年龄、系别、班级、联系方式"<<endl;cin>>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<<&q
16、uot; 要修改的学生在文件不存在! " <<endl;system("pause");void sdelet() while(1) system("cls");cout<<"* 请选择按下列类别查询后删除: *"<<endl;cout<<"*按学生学号请按1:* "<<endl;cout<<"*按学生姓名请按 2:*"<<endl;cout<<"*按学生系别请按3:*"
17、<<endl;cout<<"*按学生班级请按4:*"<<endl;cout<<"*返回上一级界面请按5:*"<<endl;int sn;cin>>sn;while(sn>5|sn<1)cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;student stu20;int flag=0;switch(sn)case 1: ifstream in("e
18、:studentfile.txt");if(!in) cout<<" 打开学生信息文件失败! "<<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<<" 请输入要删除的学生的学号"<<endl;cin>>no;for(int i=0;i<n;i+)
19、 if(no=stui.sno) cout<<stui<<endl;cout<<"是否要删除该学生的信息! "<<endl;char ch;cin>>ch;if( ch='Y'|ch='y')for(int j=i;j<n;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout<<"要修改的学生在文件不存在! <<endl;elseofstream out("e:studentfile.txt");
20、if(!out)cout<<"打开学生信息文件失败!"<<endl;return ;for(int k=0;k<n;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&q
21、uot;);if(!ifs)cout<<" 打开文件失败! "system("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("
22、;pause");void sdisplay() ifstream in("e:studentfile.txt",ios:in);if(!in)"<<endl;cout<<" 打开学生信息文件失败!return ;student stu;in.read(char*)&stu,sizeof(student);while(!in.eof() cout<<stu<<endl;in.read(char*)&stu,sizeof(student);in.close();system(&quo
23、t;pause");class course public:int cno;char cname20;char cxz10;int zxs;int xf;char kcxq10;int xxrs;/public:friend void cadd();friend void cselect();friend voidcupdate();friend voidcdelet();friend void caccount();friend istream & operator >> (istream & in, course &cou)in>>
24、o>>ame>>cou.cxz>>cou.zxs>>cou.xf>>cou.kcxq>>cou.xxrs;return in;friend ostream & operator <<(ostream & out,course &cou)out<<o<<" "<<ame<<" "<<cou.cxz<<" "<<cou.zxs<<&quo
25、t;<<cou.xf<<" "<<cou.kcxq<<" "<<cou.xxrs<<endl;return out;friend void xkadd();void cadd() int flag1=0;course c;cout<<" 请输入要添加的课程的课程代码、课程名称、课程性质、总学时、学分、开课学期、选修人数"<<endl;cin>>c;ifstream in("e:coursefile.txt")
26、;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:
27、coursefile.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:*"<<end
28、l;cout<<"*返回上一级界面请按3: *"<<endl;int sn;cin>>sn;while(sn>3|sn<1)cout<<" 选择的数据无效,请重新输入:"<<endl;cin>>sn;cout<<endl;ifstream in("e:coursefile.txt");if(!in)cout<<"打开课程信息文件失败!"<<endl;return ;int flag=0;switc
29、h(sn)case 1: int no;cout<<" 请输入要查询的课程的编号"<<endl;cin>>no;course ke;in.read(char*)&ke,sizeof(course);while(!in.eof() if(no=o) cout<<ke<<endl; flag=1;in.read(char*)&ke,sizeof(course);/if(no=ke. char*)&ke,sizeof(course);break;case 2: char name25;cout&l
30、t;<" 请输入要查询的课程的名称"<<endl;cin>>name;course ke;in.read(char*)&ke,sizeof(course);while(!in.eof() if(strcpy(name,ame)=0) cout<<ke<<endl; flag=1;in.read(char*)&ke,sizeof(course);break;case 3: return ;in.close();if(flag=0) cout<<" 要查询的课程在文件不存在! "
31、; <<endl;system("pause");void cupdate() while(1) system("cls");cout<<"* 请选择按下列类别查询后修改: *"<<endl;cout<<"* 按课程编号请按 1: * "<<endl;cout<<"*按课程名称请按 2:*"<<endl;cout<<"*按课程性质请按3: *"<<endl;cout&l
32、t;<"*按课程学分请按4: *"<<endl;cout<<"*返回上一级界面请按5: *"<<endl;int sn;cin>>sn;while(sn>5|sn<1)cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;fstream in("e:studentfile.txt",ios:in|ios:out);if(!in)cout<<&qu
33、ot;打开课程信息文件失败!"<<endl;return ;int flag=0;switch(sn)case 1: int no;cout<<" 请输入要查询的课程的编号"<<endl;cin>>no;course k;int i=0;in.seekg(i*sizeof(course),ios:beg);in.read(char*)&k,sizeof(course);while(!in.eof()if(no=o)cout<<k<<endl;cout<<" 请输入
34、要修改的课程的编号,名称,性质,学分 "<<endl;cin>>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<<" 请输入要查询的学生的学号"<<endl;cin>>no;student stu
35、;int i=0;in.seekg(i*sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) cout<<stu<<endl;cout<<" 请输入要修改的的课程的编号, 名称, 性质, 学分 "<<endl;cin>>stu;in.seekp(i*sizeof(student),ios:beg);in.write(char*)&stu,sizeof(student);fl
36、ag=1;i+;in.seekg(i*sizeof(student),ios:beg);in.read(char*)&stu,sizeof(student);break;case 3: return ;in.close();if(flag=0) cout<<" 要修改的选课信息在文件不存在! " <<endl;system("pause");void cdelet() while(1) system("cls");cout<<"* 请选择按下列类别查询后删除: *"<
37、;<endl;cout<<"* 按课程编号请按 1: * "<<endl;cout<<"* 按课程名称请按 2: *"<<endl;cout<<"*返回上一级界面请按3: *"<<endl;int sn;cin>>sn;while(sn>3|sn<1)cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;course k2
38、0;int flag=0;switch(sn)case 1: ifstream in("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<<" 请输入要删除的课程的编号"<&l
39、t;endl;cin>>no;for(int i=0;i<n;i+) if(no=o) cout<<ki<<endl;cout<<" 是否要删除该课程的信息! "<<endl;char ch;cin>>ch;if( ch='Y'|ch='y')for(int j=i;j<n;j+)kj=kj+1;n-;flag=1;if(flag=0) cout<<" 要 修 改 的 课 程 在 文 件 不 存 在 ! <<endl
40、;elseofstream out("e:coursefile.txt");if(!out)cout<<"打开课程信息文件失败!"<<endl;return ;for(int i=0;i<n;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 cacco
41、unt()ifstream 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<<" 门 &
42、quot;<<endl;ifs.close();system("pause");void cdisplay() ifstream in("e:coursefile.txt");if(!in)cout<<" 打开课程信息文件失败! "<<endl;return ;course cou;in.read(char*)&cou,sizeof( course);while(!in.eof() cout<<cou;in.read(char*)&cou,sizeof( course);
43、in.close();system("pause");class situaction public:int sno;int cno;int score;/ public:friend void xkadd();friend void xkselect();friend voidxkupdate();friend voidxkdelet();friend voidxkaccount();friend voidxkdisplay();friend istream & operator >> (istream & in, situaction &am
44、p;si) in>>si.sno>>o;si.score=0;return in;friend ostream & operator <<(ostream & out,situaction &si) out<<si.sno<<" "<<o<<" "<<si.score<<endl;return out;void xkadd() situaction xk;cout<<" 请输入要选修的学号、课程号&qu
45、ot;<<endl;cin>>xk;int flag1=0, flag2=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(stude
46、nt);in1.close();if(flag1=0) cout<<" 该学生不存在不允许选课! " <<endl;else course cou;ifstream in2("e: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*)&a
47、mp;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;return ;in3.read(char*)&si,sizeof(situaction);while(!i
48、n3.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
49、out("e:situactionfile.txt",ios:app);out.write(char*)&xk,sizeof(situaction);out.close();system("pause");void xkselect()while(1) system("cls");cout<<"*请选择要查询的类别:*"<<endl;cout<<"*按学生编号请按1:* "<<endl;cout<<"*按课程编号请按2
50、:* "<<endl;cout<<"*返回上一级界面请按3:*"<<endl;int sn;cin>>sn;while(sn>3|sn<1)cout<<" 选择的数据无效,请重新输入:"<<endl;cin>>sn;cout<<endl;ifstream in("e:situactionfile.txt");if(!in)cout<<"打开选课信息文件失败!"<<endl;r
51、eturn ;int flag=0;switch(sn)case 1: int no;cout<<" 请输入要查询的学生的学号"<<endl;cin>>no;situaction stu;in.read(char*)&stu,sizeof(situaction);while(!in.eof() if(no=stu.sno) cout<<stu<<endl; flag=1;in.read(char*)&stu,sizeof(situaction);break;case 2: int no;cout&l
52、t;<" 请输入要查询的课程的编号"<<endl;cin>>no;situaction ke;in.read(char*)&ke,sizeof(situaction);while(!in.eof() if(no=o) cout<<ke<<endl; flag=1;in.read(char*)&ke,sizeof(situaction);/ if(no=ke. char*)&ke,sizeof(course);break;case 3: return ;in.close();if(flag=0) c
53、out<<" 要查询的选课在文件不存在! " <<endl;system("pause");void xkupdate()while(1) system("cls");cout<<"* 请选择按下列类别查询后修改: *"<<endl;cout<<"*按课程编号请按1:* "<<endl;cout<<"*按学生学号请按2:*"<<endl;cout<<"*返回上
54、一级界面请按3:*"<<endl;int sn;cin>>sn;while(sn>3|sn<1)cout<<" 选择的数据无效,请重新输入: "<<endl;cin>>sn;cout<<endl;fstream in("e:situactionfile.txt",ios:in|ios:out);if(!in)cout<<"打开选课信息文件失败!"<<endl;return ;int flag=0;switch(sn)c
55、ase 1: int no;cout<<" 请输入要查询的课程的编号"<<endl;cin>>no;situaction si;int i=0;in.seekg(i*sizeof(situaction),ios:beg);in.read(char*)&si,sizeof(situaction);while(!in.eof() if(no=o) cout<<si<<endl;选课cout<<" 请输入要修改的选课信息的学生学号,信息,成绩"<<endl;cin>
56、;>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<<" 请输入要查询的学生的学号"<<endl;cin>>no;student stu;int i=0;in.seekg(i*sizeo
57、f(student),ios:beg);in.read(char*)&stu,sizeof(student);while(!in.eof() if(no=stu.sno) cout<<stu<<endl;cout<<" 请输入要修改的选课信息的学生学号, 选课信息,成绩"<<endl;cin>>stu;in.write(char*)&stu,sizeof(situaction);flag=1;i+;in.seekg(i*sizeof(situaction),ios:beg);in.read(char
58、*)&stu,sizeof(situaction);break;case 3: return ;in.close();if(flag=0) cout<<" 要修改的课程在文件不存在! " <<endl;system("pause");void xkdelet()while(1) system("cls");cout<<"*请选择按下列类别查询后删除: *"<<endl;cout<<"*按学生学号请按1: * "<<e
59、ndl;cout<<"*按课程编号请按 2:*"<<endl;cout<<"*返回上一级界面请按3: *"<<endl;int sn;cin>>sn;while(sn>3|sn<1)"<<endl;cout<<" 选择的数据无效,请重新输入:cin>>sn;cout<<endl;student stu20;course k20;int flag=0;switch(sn)case 1: ifstream in(&quo
60、t;e:situactionfile.txt");if(!in)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<<" 请输入要删除的学生的学号"<<endl;cin>>no;for(int i=0;i<n;i+) if(no=stui.sno) cout<<stui<<endl
61、;cout<<" 是否要删除该学生的选课信息! "<<endl;char ch;cin>>ch;if( ch='Y'|ch='y')for(int j=i;j<n;j+)stuj=stuj+1;n-;flag=1;if(flag=0) cout<<" 要 修 改 的 学 生 在 文 件 不 存 在 ! <<endl;elseofstream out("e:studentfile.txt");if(!out)cout<<"打开学
62、生信息文件失败!"<<endl;return ;for(int k=0;k<n;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.read(char*)&kn,sizeof(course);in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国青岛版信息技术八年级下册专题青春岁月纪念册第8课一、《更改视频的显示效果》说课稿
- Unit 6 In a nature park Part A Let's talk(说课稿)-2024-2025学年人教PEP版英语五年级上册
- 人教版初中七年级下册 5.1.1辽阔的疆域 说课稿
- 2025年师德师风工作计划左右
- 二溴菊酸相关行业投资方案范本
- 2025年小学数学国培个人研修计划书
- 临床医疗管理信息系统行业相关投资计划提议范本
- 全国滇人版初中信息技术七年级下册第一单元第3课《优化计算机》说课稿
- 2025年律师管理工作计划例文
- 2025年计生协会工作计划表格模板
- 中学美育工作制度
- 2023年保安公司副总经理年终总结 保安公司分公司经理年终总结(5篇)
- 2023中专《解剖学基础》题库202311593753185
- 化妆品生产许可申请表样板
- 教科版三年级上册科学教案(全册)
- 劳动力安排计划及劳动力计划表(样板)
- 利润表4(通用模板)
- 教育评价学全套ppt课件完整版教学教程
- 注塑领班作业指导书
- ASTM B330-20 Standard Test Methods for Estimating Average Particle Size of Metal Powders and Related Compounds Using%2
- 血气分析及临床应用
评论
0/150
提交评论