1、C+课程设计高校水电费管理系统C+课程设计高校水电费管理系统 作者: 日期: #include#include#include#includeconst 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= ,int a=0,double w=0.0,double p=0.0)/
2、初始化 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 public Person /教师public: strin
3、g 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),depart(d)/构造函数 watermoney=wm; powermoney=pm; ; void Input() cou
4、t请输入编号:num; cout请输入姓名:name; cout请选择性别:; cout(1.男 2.女)endl; cout请输入你的选择choice2; switch(choice2) case 1:sex=男;break; case 2:sex=女;break; default:cout输入错误。endl;break; cout请输入年龄:age; cout请选择工作部门:endl; coutsetw(10)1.普通教师setw(10)2.教务处setw(10)3.财政处setw(10) 4.创业办公室endl; cout请输入你的选择choice1; switch(choice1) c
5、ase 1:depart=普通教师;break; case 2:depart=教务处;break; case 3:depart=财政处;break; case 4:depart=创业办公室;break; default:cout输入错误。endl;break; cout请输入本月的用水量water; cout请输入本月的用电量power; watermoney=0.5*water; powermoney=0.5*power; void Output() cout num name sex age depart water setw(10)power setw(10)watermoney set
6、w(10)powermoney 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=0.0) :Person(n,nm,s,a,
7、w,p),bj(z)/构造函数 watermoney=wm; powermoney=pm; ; void Input() cout请输入学号:num; cout请输入姓名:name; cout请选择性别:; cout(1.男 2.女)endl; cout请输入你的选择choice2; switch(choice2) case 1:sex=男;break; case 2:sex=女;break; default:cout输入错误。endl;break; cout请输入年龄:age; cout请选择所在班级:endl; coutsetw(10)1.计科1班setw(10)2.计科2班setw(10
8、)3.计科3班setw(10)4.计科4班endl; cout请输入你的选择choice1; switch(choice1) case 1:bj=计科1班;break; case 2:bj=计科2班;break; case 3:bj=计科3班;break; case 4:bj=计科4班;break; default:cout输入错误。endl;break; cout请输入本月的用水量water; cout请输入本月的用电量power; watermoney=0.5*(water-10); powermoney=0.5*(power-10); void Output() cout num nam
9、e sex age bj water setw(10)power setw(10)watermoney setw(10)powermoney =TMAX) cout用户已满endl; return; Student s; cout输入新添加的人员的信息endl; s.Input(); for(int i=0;itop;i+) if (s.GetNum()=Stui.GetNum() cout该编号的人员已存在endl; return; Stutop=s; top=top+1; cout添加成功!endl;void Stu_Manage:Show()/显示所有记录 if(top=0) cout无
10、数据!endl; return; cout 学号 姓名 性别 年龄 班级 setw(10)用水量 setw(10)用电量 setw(10)水费 setw(10)电费 endl; for(int i=0;itop;i+) Stui.Output();void Stu_Manage:Search()/查询 if(top=0) cout当前系统中没有存储记录endl; return; int choice; cout请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询choice; switch(choice) case 1: cout请输入要查找的姓名name; cout 学号 姓名
11、 性别 年龄 班级 setw(10)用水量 setw(10)用电量 setw(10)水费 setw(10)电费 endl; for(int i=0;itop;i+) if(Stui.GetName()=name) Stui.Output(); return; cout查无此人!endl; break; case 2: cout请输入要查找的水量:water; cout 学号 姓名 性别 年龄 班级 setw(10)用水量 setw(10)用电量 setw(10)水费 setw(10)电费 endl; for(int i=0;itop;i+) if(Stui.GetWater()=water)
12、Stui.Output(); return; cout查无此人!endl; break; case 3: cout请输入要查找的电量:power; cout 学号 姓名 性别 年龄 班级 setw(10)用水量 setw(10)用电量 setw(10)水费 setw(10)电费 endl; for(int i=0;itop;i+) if(Stui.GetPower()=power) Stui.Output(); return; cout查无此人!endl; break; default :cout无此选项!请重试!endl;break; void Stu_Manage:Edit()/更改信息
13、if(top=0) cout当前系统中没有存储记录!endl; return; int num; cout请输入要查找的教编号:num; for(int i=0;itop;i+) if(Stui.GetNum()=num) cout请对这位学生的信息进行修改:endl; Stui.Input(); cout修改成功endl;return; cout查无此人endl;void Stu_Manage:Delete()/删除信息 if(top=0) cout当前系统中没有存储记录!endl; return; cout1、按编号查找删除 2、按姓名查找删除choice; switch(choice)
14、case 1: coutnum; for(int i=0;itop;i+) if(num=Stui.num) cout是否确认删除? 1、是 2、否 choice; switch(choice) case 1: for(int j=i;jtop-1;j+) Stuj=Stuj+1; cout删除成功!endl; top-; ;break; case 2:return; default:cout无此项,失败!endl;break; return; cout无此人!endl; ;break; case 2: coutname; for(int i=0;itop;i+) if(name=Stui.n
15、ame) cout是否确认删除? 1、是 2、否 choice; switch(choice) case 1: for(int j=i;jtop-1;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()/数据统计 cout1 学生所用水电量的总量 2 学生总的水电费 endl; int choi
16、ce; cout请输入你的选择choice; switch(choice) case 1: double zwater=0.0, zpower=0.0; for(int i=0; itop; i+) zwater+=Stui.water; zpower+=Stui.power; cout学生的总用水量为zwaterendl; cout学生的总用电量为zpowerendl; break; case 2: double zwatermoney=0.0, zpowermoney=0.0; for(int i=0; itop; i+) zpowermoney+=Stui.powermoney; zwa
17、termoney+=Stui.watermoney; cout教师的总水费为zwatermoneyendl; cout教师的总电费为zpowermoneyendl; 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;itop;i+) outStui.num Stui.name Stui.sex Stui.age Stui.bj
18、Stui.water Stui.power Stui.watermoney Stui.powermoney endl; cout写入成功!endl; out.close();void Stu_Manage:Read()/读取学生文件 ifstream in(学生.txt,ios:in); if(!in) cout打开失败!Stui.num Stui.name Stui.sex Stui.age Stui.bj Stui.water Stui.power Stui.watermoney Stui.powermoney) i+; top+; cout打开成功!=TMAX) cout用户已满endl; return; Teacher t; cout输入新添加的人员的信息endl; t.Input(); for(int i=0;itop;i+) if (t.GetNum()=Teai.GetNum() cout该编号的人员已存在endl; return; Teatop=t; top=top+1; cout添加成功!endl;void Tea_Manage:Show()/显示所有记录 if(top=0) cout无数据!endl
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2