水电费管理系统课程设计.docx
《水电费管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《水电费管理系统课程设计.docx(33页珍藏版)》请在冰豆网上搜索。
水电费管理系统课程设计
通信与信息工程学院
面向对象技术课程设计
一、课程设计目的
(1)要求学生达到熟练掌握C++语言的大体知识和技术;
(2)大体掌握面向对象程序设计的大体思路和方式;
(3)能够利用所学的大体知识和技术,解决简单的面向对象程序设计问题。
二、程序设计要求
一、大体功能:
设计一个高校水电管理信息系统,能够对高校的水电费用进行管理,包括记录费用、查询费用和住户信息管理等。
完成如下功能:
⑴实现对用户信息的录入。
⑵实现水电数据的录入。
⑶计算并查询用户应缴费用。
(4)显示当前系统中所有学生和教工的记录(5)可按照查询结果对相应的记录进行修改(6)计算电费和水费。
二、程序主菜单:
教师水电费管理,学生水电费管理,退出系统三个选项
3、设计流程图:
画出本程序的整体设计流程图(手画)
4、功能框图:
画出本程序的功能框图(手画)
三、程序功能设计
一、功能设计:
添加功能查询功能显示功能编辑功能删除功能统计功能保留功能读取功能计算水费和电费
二、组员分工:
赵政类的概念马晶晶史娟丽杨洁功能的实现姜田茹界面设计
设计思路:
一、在主函数中通过度支选择实现不同的功能。
二、在菜单函数中,通过设计界面与用户进行交互。
3、概念一个利用者类,在类的内部概念各类函数,实现显示、修改、删除、查询、统计用户信息等功能。
四、程序数据结构(手写)
五、程序函数设计(手写)
六、程序源代码(此部份可打印)
七截图(手写)
八心得(手写)
附录:
程序源代码
#include
#include
constintTMAX=50;
usingnamespacestd;
classPerson
{
public:
intnum;
stringname;
stringsex;
intage;
doublewater;
doublepower;
public:
Person(intn=0,stringnm="",strings="",inta=0,doublew=,doublep=
{
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=,doublep=,doublewm=,doublepm=
:
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<<"输入错误。
"<break;
}
cout<<"请输入年龄:
"<cin>>age;
cout<<"请选择工作部门:
"<cout<<"1.任课教师"<<"2.教务处"<<"3.财政处"<<"4.校团委"<cout<<"请输入你的选择"<cin>>choice1;
switch(choice1)
{
case1:
depart="任课教师";
break;
case2:
depart="教务处";
break;
case3:
depart="财政处";
break;
case4:
depart="校团委";
break;
default:
cout<<"输入错误。
"<break;
}
cout<<"请输入本月的用水量"<cin>>water;
cout<<"请输入本月的用电量"<cin>>power;
watermoney=*water;
powermoney=*power;
}
voidOutput()
{
cout<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<}
};
classStudent:
virtualpublicPerson
{
public:
stringbj;
doublewatermoney;
doublepowermoney;
intchoice1;
intchoice2;
public:
Student(intn=0,stringnm="",strings="男",inta=0,stringz="",doublew=,doublep=,doublewm=,doublepm=
:
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<<"1.通信1201班"<<"2.通信1202班"<<"3.通信1203班"<<"4.通信1204班"<cout<<"请输入你的选择"<cin>>choice1;
switch(choice1)
{
case1:
bj="通信1201班";break;
case2:
bj="通信1202班";break;
case3:
bj="通信1203班";break;
case4:
bj="通信1204班";break;
default:
cout<<"输入错误。
"<}
cout<<"请输入本月的用水量"<cin>>water;
cout<<"请输入本月的用电量"<cin>>power;
watermoney=*(water-10);
powermoney=*(power-10);
}
voidOutput()
{
cout<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<}
};
classStu_Manage
{
StudentStu[TMAX];
inttop;etNum())
{
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<<"一、按编号查找删除二、按姓名查找删除"<intchoice;
cin>>choice;
switch(choice)
{
case1:
{
cout<<"请输入编号:
";
intnum;
cin>>num;
for(inti=0;i{
if(num==Stu[i].num)
{
cout<<"是不是确认删除?
一、是二、否"<intchoice;
cin>>choice;
switch(choice)
{
case1:
{
for(intj=i;jStu[j]=Stu[j+1];
cout<<"删除成功!
"<top--;
};break;
case2:
return;
default:
cout<<"无此项,失败!
"<break;
}return;
}
}
cout<<"无这人!
"<};
break;
case2:
{
cout<<"请输入姓名:
";
stringname;
cin>>name;
for(inti=0;i{
if(name==Stu[i].name)
{
cout<<"是不是确认删除?
一、是二、否"<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=,zpower=;
for(inti=0;i{
zwater+=Stu[i].water;
zpower+=Stu[i].power;
}
cout<<"学生的总用水量为"<cout<<"学生的总用电量为"<}break;
case2:
{
doublezwatermoney=,zpowermoney=;
for(inti=0;i{
zpowermoney+=Stu[i].powermoney;
zwatermoney+=Stu[i].watermoney;
}
cout<<"学生的总水费为"<cout<<"学生的总电费为"<}break;
default:
cout<<"输入错误。
请从头输入"<}
}
classTea_Manage
{
TeacherTea[TMAX];
inttop;
public:
Tea_Manage(){top=0;}
voidAdd();
voidShow();
voidSearch();
voidEdit();
voidDelete();
voidTotal();
};
voidTea_Manage:
:
Add()
{
if(top>=TMAX)
{
cout<<"用户已满"<return;
}
Teachert;
cout<<"输入新添加的人员的信息"<();
for(inti=0;iif()==Tea[i].GetNum())
{
cout<<"该编号的人员已存在"<return;
}
Tea[top]=t;
top=top+1;
cout<<"添加成功!
"<}
voidTea_Manage:
:
Show()
{
if(top==0)
{
cout<<"无数据!
"<return;
}
cout<<""<<"编号"
<<""<<"姓名"
<<""<<"性别"
<<""<<"年龄"
<<""<<"部门"
<<""<<"用水量"
<<""<<"用电量"
<<""<<"水费"
<<""<<"电费"
<for(inti=0;iTea[i].Output();
}
voidTea_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(Tea[i].GetName()==name)
{
Tea[i].Output();
}
}
return;
cout<<"查无这人!
"<}break;
case2:
{
cout<<"请输入要查找的水量:
"<doublewater;
cin>>water;
cout<<""<<"编号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"部门"<<"用水量"<<"用电量"<<"水费"<<"电费"<for(inti=0;i{
if(Tea[i].GetWater()==water)
{
Tea[i].Output();
}
}
return;
cout<<"查无这人!
"<}break;
case3:
{
cout<<"请输入要查找的电量:
"<doublepower;
cin>>power;
cout<<""<<"编号"<<""<<"姓名"<<""<<"性别"<<""<<"年龄"<<""<<"部门"<<"用水量"<<"用电量"<<"水费"<<"电费"<for(inti=0;i{
if(Tea[i].GetPower()==power)
{
Tea[i].Output();