C++课程设计高校水电费管理系统.docx
- 文档编号:10270422
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:36
- 大小:20.96KB
C++课程设计高校水电费管理系统.docx
《C++课程设计高校水电费管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计高校水电费管理系统.docx(36页珍藏版)》请在冰豆网上搜索。
C++课程设计高校水电费管理系统
C++课程设计高校水电费管理系统
————————————————————————————————作者:
————————————————————————————————日期:
#include
#include
#include
#include
constintTMAX=50;
usingnamespacestd;
classPerson
{
public:
intnum;//编号
stringname;//姓名
stringsex;//性别
intage;//年龄
doublewater;//用水量
doublepower;//用电量
public:
Person(intn=0,stringnm="",strings="",inta=0,doublew=0.0,doublep=0.0)//初始化
{
num=n;
name=nm;
sex=s;
age=a;
water=w;
power=p;
};
virtualvoidInput(){};
virtualvoidOutput(){};
intGetNum(){returnnum;}//获取编号
stringGetName(){returnname;}//获取姓名
doubleGetWater(){returnwater;}//获取用水量
doubleGetPower(){returnpower;}//获取用电量
};
classTeacher:
virtualpublicPerson//教师
{
public:
stringdepart;//工作部门
doublewatermoney;//教师水费
doublepowermoney;//教师电费
intchoice1;
intchoice2;
public:
Teacher(intn=0,stringnm="",strings="男",inta=0,stringd="普通教师",doublew=0.0,doublep=0.0,doublewm=0.0,doublepm=0.0)
:
Person(n,nm,s,a,w,p),depart(d)//构造函数
{
watermoney=wm;
powermoney=pm;
};
voidInput()
{
cout<<"请输入编号:
"< cin>>num; cout<<"请输入姓名: "< cin>>name; cout<<"请选择性别: "; cout<<"(1.男2.女)"< cout<<"请输入你的选择"< cin>>choice2; switch(choice2) { case1: sex="男";break; case2: sex="女";break; default: cout<<"输入错误。 "< } cout<<"请输入年龄: "< cin>>age; cout<<"请选择工作部门: "< cout< cout<<"请输入你的选择"< cin>>choice1; switch(choice1) { case1: depart="普通教师";break; case2: depart="教务处";break; case3: depart="财政处";break; case4: depart="创业办公室";break; default: cout<<"输入错误。 "< } cout<<"请输入本月的用水量"< cin>>water; cout<<"请输入本月的用电量"< cin>>power; watermoney=0.5*water; powermoney=0.5*power; } voidOutput() { cout<<""< <<""< <<""< <<""< <<""< <<""< < <<""< < < } }; classStudent: virtualpublicPerson//学生 { public: stringbj;//学生班级 doublewatermoney;//学生水费 doublepowermoney;//学生电费 intchoice1; intchoice2; public: Student(intn=0,stringnm="",strings="男",inta=0,stringz="",doublew=0.0,doublep=0.0,doublewm=0.0,doublepm=0.0) : Person(n,nm,s,a,w,p),bj(z)//构造函数 { watermoney=wm; powermoney=pm; }; voidInput() { cout<<"请输入学号: "< cin>>num; cout<<"请输入姓名: "< cin>>name; cout<<"请选择性别: "; cout<<"(1.男2.女)"< cout<<"请输入你的选择"< cin>>choice2; switch(choice2) { case1: sex="男";break; case2: sex="女";break; default: cout<<"输入错误。 "< } cout<<"请输入年龄: "< cin>>age; cout<<"请选择所在班级: "< cout< cout<<"请输入你的选择"< cin>>choice1; switch(choice1) { case1: bj="计科1班";break; case2: bj="计科2班";break; case3: bj="计科3班";break; case4: bj="计科4班";break; default: cout<<"输入错误。 "< } cout<<"请输入本月的用水量"< cin>>water; cout<<"请输入本月的用电量"< cin>>power; watermoney=0.5*(water-10); powermoney=0.5*(power-10); } voidOutput() { cout<<""< <<""< <<""< <<""< <<""< <<""< < <<""< < < } }; classStu_Manage { StudentStu[TMAX];//TMAX为常量,为数组中可存储的学生记录的最大数; inttop;//top表示当前系统中存储的记录个数; public: Stu_Manage(){top=0;}//初始时记录的个数为0,所以设置top=0; voidAdd();//实现该类记录的添加; voidShow();//实现该类所有记录的显示; voidSearch();//实现该类记录的查询; voidEdit();//实现该类记录的修改; voidDelete();//实现该类记录的删除; voidTotal();//实现该类记录的统计; voidSave();//将该类记录保存到文件; voidRead();//可从文件中将记录读取到该类的数组中; }; voidStu_Manage: : Add()//添加成员 { if(top>=TMAX) { cout<<"用户已满"< return; } Students; cout<<"输入新添加的人员的信息"< s.Input(); for(inti=0;i if(s.GetNum()==Stu[i].GetNum()) { cout<<"该编号的人员已存在"< return; } Stu[top]=s; top=top+1; cout<<"添加成功! "< } voidStu_Manage: : Show()//显示所有记录 { if(top==0) { cout<<"无数据! "< return; } cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" < < < < < for(inti=0;i Stu[i].Output(); } voidStu_Manage: : Search()//查询 { if(top==0) { cout<<"当前系统中没有存储记录"< return; } intchoice; cout<<"请选择查找方式: 1.按姓名查询2.按用水量查询3.按用电量查询"< cin>>choice; switch(choice) { case1: { cout<<"请输入要查找的姓名"< stringname; cin>>name; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" < < < < < for(inti=0;i { if(Stu[i].GetName()==name) { Stu[i].Output(); } } return; cout<<"查无此人! "< }break; case2: { cout<<"请输入要查找的水量: "< doublewater; cin>>water; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" < < < < < for(inti=0;i { if(Stu[i].GetWater()==water) { Stu[i].Output(); } } return; cout<<"查无此人! "< }break; case3: { cout<<"请输入要查找的电量: "< doublepower; cin>>power; cout<<""<<"学号" <<""<<"姓名" <<""<<"性别" <<""<<"年龄" <<""<<"班级" < < < < < for(inti=0;i { if(Stu[i].GetPower()==power) { Stu[i].Output(); } } return; cout<<"查无此人! "< }break; default: cout<<"无此选项! 请重试! "< } } voidStu_Manage: : Edit()//更改信息 { if(top==0) { cout<<"当前系统中没有存储记录! "< return; } intnum; cout<<"请输入要查找的教编号: "< cin>>num; for(inti=0;i { if(Stu[i].GetNum()==num) { cout<<"请对这位学生的信息进行修改: "< Stu[i].Input(); cout<<"修改成功"< } } cout<<"查无此人"< } voidStu_Manage: : Delete()//删除信息 { if(top==0) { cout<<"当前系统中没有存储记录! "< return; } cout<<"1、按编号查找删除2、按姓名查找删除"< intchoice; cin>>choice; switch(choice) { case1: { cout<<"请输入编号: "; intnum; cin>>num; for(inti=0;i { if(num==Stu[i].num) { cout<<"是否确认删除? 1、是2、否"< intchoice; cin>>choice; switch(choice) { case1: { for(intj=i;j Stu[j]=Stu[j+1]; cout<<"删除成功! "< top--; };break; case2: return; default: cout<<"无此项,失败! "< }return; } } cout<<"无此人! "< };break; case2: { cout<<"请输入姓名: "; stringname; cin>>name; for(inti=0;i { if(name==Stu[i].name) { cout<<"是否确认删除? 1、是2、否"< intchoice; cin>>choice; switch(choice) { case1: { for(intj=i;j Stu[j]=Stu[j+1]; cout<<"删除成功! "< top--; };break; case2: return; default: cout<<"无此项,失败! "< }return; } } cout<<"无此人! "< };break; default: cout<<"没有此项,失败: "< } } voidStu_Manage: : Total()//数据统计 { cout<<"1学生所用水电量的总量2学生总的水电费"< intchoice; cout<<"请输入你的选择"< cin>>choice; switch(choice) { case1: { doublezwater=0.0,zpower=0.0; for(inti=0;i { zwater+=Stu[i].water; zpower+=Stu[i].power; } cout<<"学生的总用水量为"< cout<<"学生的总用电量为"< }break; case2: { doublezwatermoney=0.0,zpowermoney=0.0; for(inti=0;i { zpowermoney+=Stu[i].powermoney; zwatermoney+=Stu[i].watermoney; } cout<<"教师的总水费为"< cout<<"教师的总电费为"< }break; default: cout<<"输入错误。 请重新输入"< } } voidStu_Manage: : Save()//保存学生信息 { ofstreamout("学生.txt",ios: : out); if(! out) { cout<<"打开失败! "< return; } cout<<"打开成功! "< for(inti=0;i { out< < < < < < < <