水电费管理系统课程设计报告书.docx
《水电费管理系统课程设计报告书.docx》由会员分享,可在线阅读,更多相关《水电费管理系统课程设计报告书.docx(34页珍藏版)》请在冰豆网上搜索。
![水电费管理系统课程设计报告书.docx](https://file1.bdocx.com/fileroot1/2022-10/25/ffb74a44-770c-4783-b02c-a6dec236f4d0/ffb74a44-770c-4783-b02c-a6dec236f4d01.gif)
水电费管理系统课程设计报告书
通信与信息工程学院
面向对象技术课程设计
一、课程设计目的
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、程序设计要求
1、基本功能:
设计一个高校水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。
完成如下功能:
⑴实现对用户信息的录入。
⑵实现水电数据的录入。
⑶计算并查询用户应缴费用。
(4)显示当前系统中所有学生和教工的记录(5)可根据查询结果对相应的记录进行修改(6)计算电费和水费。
2、程序主菜单:
教师水电费管理,学生水电费管理,退出系统三个选项
3、设计流程图:
画出本程序的总体设计流程图(手画)
4、功能框图:
画出本程序的功能框图(手画)
三、程序功能设计
1、功能设计:
添加功能查询功能显示功能编辑功能删除功能统计功能保存功能读取功能计算水费和电费
2、组员分工:
政类的定义马晶晶史娟丽洁功能的实现田茹界面设计
设计思路:
1、在主函数过分支选择实现不同的功能。
2、在菜单函数中,通过设计界面与用户进行交互。
3、定义一个使用者类,在类的部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能。
四、程序数据结构(手写)
五、程序函数设计(手写)
六、程序源代码(此部分可打印)
七截图(手写)
八心得(手写)
附录:
程序源代码
#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<<"输入错误。
"<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=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<<"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=0.5*(water-10);
powermoney=0.5*(power-10);
}
voidOutput()
{
cout<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<<""<<}
};
classStu_Manage
{
StudentStu[TMAX];
inttop;//top
public:
Stu_Manage(){top=0;}
voidAdd();
voidShow();
voidSearch();
voidEdit();
voidDelete();
voidTotal();
};
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<<""<<"学号"
<<""<<""
<<""<