版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word#include<iostream>#include<string>#include<fstream>#include<iomanip>const int TMAX=50;using namespace std;class Personpublic:int num;/编号string name;/姓名string sex;/性别int age;/年龄 double water;/用水量double power;/用电量public:Person(int n=0,string nm=" ",string s="
2、 ",int a=0,double w=0.0,double p=0.0)/初始化num = n;name = nm;sex = s;age = a;water = w;power = p;virtual void Input();virtual void Output();int GetNum()return num;/获取编号string GetName()return name;/获取姓名double GetWater()return water;/获取用水量double GetPower()return power;/获取用电量;class Teacher:virtual p
3、ublic Person /教师public:string depart;/工作部门double watermoney;/教师水费double powermoney;/教师电费int choice1; int choice2;public:Teacher(int n=0,string nm=" ",string s="男",int a=0,string d="普通教师",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0):Person(n,nm,s,a,w,p),depa
4、rt(d)/构造函数watermoney=wm;powermoney=pm;void Input()cout<<"请输入编号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:"cout<<"(1.男 2.女)"<<endl;cout<<"请输入你的选择"<<endl;cin>>ch
5、oice2;switch(choice2)case 1:sex="男"break;case 2:sex="女"break;default:cout<<"输入错误。"<<endl;break;cout<<"请输入年龄:"<<endl;cin>>age;cout<<"请选择工作部门:"<<endl;cout<<setw(10)<<"1.普通教师"<<setw(1
6、0)<<"2.教务处"<<setw(10)<<"3.财政处"<<setw(10)<<" 4.创业办公室"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switch(choice1)case 1:depart="普通教师"break;case 2:depart="教务处"break;case 3:depart="财政处&qu
7、ot;break;case 4:depart="创业办公室"break;default:cout<<"输入错误。"<<endl;break;cout<<"请输入本月的用水量"<<endl;cin>>water;cout<<"请输入本月的用电量"<<endl;cin>>power;watermoney=0.5*water;powermoney=0.5*power;void Output()cout<<"
8、; "<<num<<" "<<name<<" "<<sex<<" "<<age<<" "<<depart<<" "<<water<<setw(10)<<power<<" "<<setw(10)<<watermoney<<setw(10)<<powermo
9、ney<<endl;class Student:virtual public Person /学生public:string bj;/学生班级double watermoney;/学生水费double powermoney;/学生电费int choice1;int choice2;public:Student(int n=0,string nm=" ",string s="男",int a=0,string z=" ",double w=0.0, double p=0.0, double wm=0.0, double pm
10、=0.0):Person(n,nm,s,a,w,p),bj(z)/构造函数watermoney=wm;powermoney=pm;void Input()cout<<"请输入学号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:"cout<<"(1.男 2.女)"<<endl;cout<<"请输入你的选择"
11、;<<endl;cin>>choice2;switch(choice2)case 1:sex="男"break;case 2:sex="女"break;default:cout<<"输入错误。"<<endl;break;cout<<"请输入年龄:"<<endl;cin>>age;cout<<"请选择所在班级:"<<endl;cout<<setw(10)<<"
12、;1.计科1班"<<setw(10)<<"2.计科2班"<<setw(10)<<"3.计科3班"<<setw(10)<<"4.计科4班"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switch(choice1)case 1:bj="计科1班"break;case 2:bj="计科2班"break;case 3
13、:bj="计科3班"break;case 4:bj="计科4班"break;default:cout<<"输入错误。"<<endl;break;cout<<"请输入本月的用水量"<<endl;cin>>water;cout<<"请输入本月的用电量"<<endl;cin>>power;watermoney=0.5*(water-10);powermoney=0.5*(power-10);void Out
14、put()cout<<" "<<num<<" "<<name<<" "<<sex<<" "<<age<<" "<<bj<<" "<<water<<setw(10)<<power<<" "<<setw(10)<<watermoney<<setw(
15、10)<<powermoney<<endl;class Stu_Manage Student StuTMAX; /TMAX为常量,为数组中可存储的学生记录的最大数;int top; /top表示当前系统中存储的记录个数;public:Stu_Manage()top=0; /初始时记录的个数为0,所以设置top=0;void Add(); /实现该类记录的添加;void Show(); /实现该类所有记录的显示; void Search(); /实现该类记录的查询;void Edit(); /实现该类记录的修改;void Delete(); /实现该类记录的删除;void
16、 Total(); /实现该类记录的统计;void Save(); /将该类记录保存到文件;void Read(); /可从文件中将记录读取到该类的数组中;;void Stu_Manage:Add()/添加成员if(top>=TMAX) cout<<"用户已满"<<endl;return; Student s;cout<<"输入新添加的人员的信息"<<endl;s.Input();for(int i=0;i<top;i+)if (s.GetNum()=Stui.GetNum()cout<&
17、lt;"该编号的人员已存在"<<endl;return; Stutop=s; top=top+1;cout<<"添加成功!"<<endl;void Stu_Manage:Show()/显示所有记录if(top=0)cout<<"无数据!"<<endl;return;cout<<" "<<"学号"<<" "<<"姓名"<<" &q
18、uot;<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl;for(int i=0;i<top;
19、i+)Stui.Output();void Stu_Manage:Search()/查询if(top=0)cout<<"当前系统中没有存储记录"<<endl;return; int choice;cout<<"请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入要查找的姓名"<<endl; string name;cin>>n
20、ame;cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw(10)<<"用水量"<<setw(10)<<"用电量"
21、;<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+) if(Stui.GetName()=name) Stui.Output();return;cout<<"查无此人!"<<endl; break;case 2:cout<<"请输入要查找的水量:"<<endl; double water; cin>>water;cout
22、<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<
23、;setw(10)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+)if(Stui.GetWater()=water) Stui.Output(); return;cout<<"查无此人!"<<endl; break;case 3:cout<<"请输入要查找的电量:"<<endl;double power;cin>>power;cout<<
24、" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<setw(10
25、)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+)if(Stui.GetPower()=power) Stui.Output(); return;cout<<"查无此人!"<<endl; break;default :cout<<"无此选项!请重试!"<<endl;break;void Stu_Manage:Edit()/更改信息if(top=0)cout<
26、;<"当前系统中没有存储记录!"<<endl;return;int num;cout<<"请输入要查找的教编号:"<<endl;cin>>num; for(int i=0;i<top;i+)if(Stui.GetNum()=num)cout<<"请对这位学生的信息进行修改:"<<endl;Stui.Input();cout<<"修改成功"<<endl;return; cout<<"查无此
27、人"<<endl;void Stu_Manage:Delete()/删除信息if(top=0) cout<<"当前系统中没有存储记录!"<<endl;return;cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl;int choice;cin>>choice; switch(choice) case 1: cout<<"请输入编号:"int num; cin>>num; for(int i=0;i<top;
28、i+) if(num=Stui.num) cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) case 1: for(int j=i;j<top-1;j+) Stuj=Stuj+1; cout<<"删除成功!"<<endl; top-; ;break; case 2:return; default:cout<<"无此项,失败!"<<endl;break;
29、return; cout<<"无此人!"<<endl; ;break; case 2: cout<<"请输入姓名:"string name; cin>>name; for(int i=0;i<top;i+) if(name=S) cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) case 1: for(int j=i;j<top-1
30、;j+) Stuj=Stuj+1; cout<<"删除成功!"<<endl; top-; ;break; case 2:return; default:cout<<"无此项,失败!"<<endl;break; return; cout<<"无此人!"<<endl; break;default:cout<<"没有此项,失败:"<<endl;break;void Stu_Manage:Total()/数据统计cout<
31、<"1 学生所用水电量的总量 2 学生总的水电费 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switch(choice)case 1: double zwater=0.0, zpower=0.0;for(int i=0; i<top; i+)zwater+=Stui.water;zpower+=Stui.power;cout<<"学生的总用水量为"<<zwater<<endl;
32、cout<<"学生的总用电量为"<<zpower<<endl;break;case 2:double zwatermoney=0.0, zpowermoney=0.0;for(int i=0; i<top; i+)zpowermoney+=Stui.powermoney;zwatermoney+=Stui.watermoney;cout<<"教师的总水费为"<<zwatermoney<<endl;cout<<"教师的总电费为"<<zp
33、owermoney<<endl;break;default:cout<<"输入错误。请重新输入"<<endl;break;void Stu_Manage:Save()/保存学生信息ofstream out("学生.txt",ios:out);if(!out)cout<<"翻开失败!"<<endl;return;cout<<"翻开成功!"<<endl;for(int i=0;i<top;i+)out<<Stui.nu
34、m<<" " <<S<<" " <<Stui.sex<<" " <<Stui.age<<" " <<Stui.bj<<" " <<Stui.water<<" " <<Stui.power<<" " <<Stui.watermoney<<" "
35、<<Stui.powermoney<<" " <<endl;cout<<"写入成功!"<<endl;out.close();void Stu_Manage:Read()/读取学生文件ifstream in("学生.txt",ios:in);if(!in)cout<<"翻开失败!"<<endl;return;int i=0; while(in>>Stui.num >>S>>Stui.
36、sex>>Stui.age >>Stui.bj>>Stui.water>>Stui.power>>Stui.watermoney>>Stui.powermoney) i+;top+;cout<<"翻开成功!"<<endl;in.close();class Tea_Manage Teacher TeaTMAX; /TMAX为常量,为数组中可存储的教师记录的最大数;int top; /top表示当前系统中存储的记录个数;public:Tea_Manage()top=0; /初始时记录
37、的个数为0,所以设置top=0;void Add(); /实现该类记录的添加;void Show(); /实现该类所有记录的显示; void Search(); /实现该类记录的查询;void Edit(); /实现该类记录的修改;void Delete(); /实现该类记录的删除;void Total(); /实现该类记录的统计;void Save(); /将该类记录保存到文件;void Read(); /可从文件中将记录读取到该类的数组中;;void Tea_Manage:Add()/添加成员if(top>=TMAX) cout<<"用户已满"<
38、<endl;return; Teacher t;cout<<"输入新添加的人员的信息"<<endl;t.Input();for(int i=0;i<top;i+)if (t.GetNum()=Teai.GetNum()cout<<"该编号的人员已存在"<<endl;return; Teatop=t; top=top+1;cout<<"添加成功!"<<endl;void Tea_Manage:Show()/显示所有记录if(top=0)cout<&
39、lt;"无数据!"<<endl;return;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"部门"<<setw(10)<<"用水量"<
40、;<setw(10)<<"用电量"<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl;for(int i=0;i<top;i+)Teai.Output();void Tea_Manage:Search()/查询if(top=0)cout<<"当前系统中没有存储记录"<<endl;return; int choice;cout<<"请选择查找方式:1.按姓名查询
41、2.按用水量查询 3.按用电量查询"<<endl;cin>>choice;switch(choice)case 1:cout<<"请输入要查找的姓名"<<endl; string name;cin>>name;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" &q
42、uot;<<"年龄"<<" "<<"部门"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+) if(Teai.GetName()=name) Teai.Output();
43、return;cout<<"查无此人!"<<endl; break;case 2:cout<<"请输入要查找的水量:"<<endl; double water; cin>>water;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<
44、<"年龄"<<" "<<"部门"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+)if(Teai.GetWater()=water) Teai.Output(); return
45、;cout<<"查无此人!"<<endl; break;case 3:cout<<"请输入要查找的电量:"<<endl; double power; cin>>power;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<&q
46、uot;年龄"<<" "<<"部门"<<setw(10)<<"用水量"<<setw(10)<<"用电量"<<setw(10)<<"水费"<<setw(10)<<"电费"<<endl; for(int i=0;i<top;i+)if(Teai.GetPower()=power) Teai.Output(); return;cout&
47、lt;<"查无此人!"<<endl; break;default :cout<<"无此选项!请重试!"<<endl;break;void Tea_Manage:Edit()/更改信息if(top=0)cout<<"当前系统中没有存储记录!"<<endl;return;int num;cout<<"请输入要查找的教编号:"<<endl;cin>>num; for(int i=0;i<top;i+)if(Teai
48、.GetNum()=num)cout<<"请对这位教师的信息进行修改:"<<endl;Teai.Input();cout<<"修改成功"<<endl;return; cout<<"查无此人"<<endl;void Tea_Manage:Delete()/删除信息if(top=0) cout<<"当前系统中没有存储记录!"<<endl;return;cout<<"1、按编号查找删除 2、按姓名查找删除
49、"<<endl;int choice;cin>>choice; switch(choice) case 1: cout<<"请输入编号:"int num; cin>>num; for(int i=0;i<top;i+) if(num=Teai.num) cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) case 1: for(int j=i;j<top-1;
50、j+) Teaj=Teaj+1; cout<<"删除成功!"<<endl; top-; ;break; case 2:return; default:cout<<"无此项,失败!"<<endl;break; return; cout<<"无此人!"<<endl; ;break; case 2: cout<<"请输入姓名:"string name; cin>>name; for(int i=0;i<top;i+) i
51、f(name=T) cout<<"是否确认删除? 1、是 2、否 "<<endl; int choice; cin>>choice; switch(choice) case 1: for(int j=i;j<top-1;j+) Teaj=Teaj+1; cout<<"删除成功!"<<endl; top-; ;break; case 2:return; default:cout<<"无此项,失败!"<<endl;break; ret
52、urn; cout<<"无此人!"<<endl; break;default:cout<<"没有此项,失败:"<<endl;break;void Tea_Manage:Total()/数据统计cout<<"1 教师所用水电量的总量 2 教师总的水电费 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switch(choice)case 1:double
53、 zwater=0.0, zpower=0.0;for(int i=0; i<top; i+)zwater+=Teai.water;zpower+=Teai.power;cout<<"教师的总用水量为"<<zwater<<endl;cout<<"教师的总用电量为"<<zpower<<endl;break;case 2:double zwatermoney=0.0, zpowermoney=0.0;for(int i=0;i<top;i+)zwatermoney+=Teai
54、.watermoney;zpowermoney+=Teai.powermoney;cout<<"教师的总水费为"<<zwatermoney<<endl;cout<<"教师的总电费为"<<zpowermoney<<endl;break;default:cout<<"输入错误。请重新输入"<<endl;break;void Tea_Manage:Save()/保存教师信息ofstream out("教师.txt",ios:o
55、ut);if(!out)cout<<"翻开失败!"<<endl;return;cout<<"翻开成功!"<<endl;for(int i=0;i<top;i+)out<<Teai.num<<" " <<T<<" " <<Teai.sex<<" " <<Teai.age<<" " <<Teai.depa
56、rt<<" " <<Teai.water<<" " <<Teai.power<<" " <<Teai.watermoney<<" " <<Teai.powermoney<<" " <<endl;cout<<"写入成功!"<<endl;out.close();void Tea_Manage:Read()/读取教师文件ifstream i
57、n("教师.txt",ios:in);if(!in)cout<<"翻开失败!"<<endl;return;int i=0; while(in>>Teai.num >>T>>Teai.sex>>Teai.age >>Teai.depart>>Teai.water>>Teai.power>>Teai.watermoney>>Teai.powermoney) i+;top+;cout<<"翻开成功!"<<endl;in.close();void TeaMenu();void StuMenu();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税务局2025年度环境保护与治理合同
- 2025年度出口退税证明开具与跨境电商平台服务合同3篇
- 2024良乡校区物业管理服务合同
- 2025年度装载机租赁与施工技术指导合同3篇
- 二零二四年围栏产品研发与创新设计合同3篇
- 二零二五年度绿色通道不过户二手房买卖合同2篇
- 2025年度新能源发电项目变压器采购合同标准范本3篇
- 2024版跨国企业社会责任合规合同
- 二零二五版个人购房贷款担保与房屋维修基金代缴代理合同3篇
- 二零二五版股权代持实务解析与合规操作合同
- 割接方案的要点、难点及采取的相应措施
- 2025年副护士长竞聘演讲稿(3篇)
- 2025至2031年中国台式燃气灶行业投资前景及策略咨询研究报告
- 原发性肾病综合征护理
- (一模)株洲市2025届高三教学质量统一检测 英语试卷
- 第三章第一节《多变的天气》说课稿2023-2024学年人教版地理七年级上册
- 2025年中国电科集团春季招聘高频重点提升(共500题)附带答案详解
- 2025年度建筑施工现场安全管理合同2篇
- 建筑垃圾回收利用标准方案
- 2024年考研英语一阅读理解80篇解析
- 样板间合作协议
评论
0/150
提交评论