C++课程设计高校水电费管理系统_第1页
C++课程设计高校水电费管理系统_第2页
C++课程设计高校水电费管理系统_第3页
C++课程设计高校水电费管理系统_第4页
C++课程设计高校水电费管理系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论