C++课程设计高校水电费管理系统.docx
《C++课程设计高校水电费管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计高校水电费管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
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;iif(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;iStu[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;jStu[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;jStu[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<<<<<<<<<<