课程设计报告用C实现水电煤气管理系统毕业论文.docx
《课程设计报告用C实现水电煤气管理系统毕业论文.docx》由会员分享,可在线阅读,更多相关《课程设计报告用C实现水电煤气管理系统毕业论文.docx(31页珍藏版)》请在冰豆网上搜索。
课程设计报告用C实现水电煤气管理系统毕业论文
课程设计报告
课程设计题目:
水电煤气管理系统
一.问题描述:
设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以与住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
二.设计思路:
(一)程序功能:
1.实现对用户信息的录入
2.实现水电煤气数据的录入
3.计算并查询用户应缴费用
4.查询未缴纳费用
(二)程序说明:
1.在主函数过分支选择可以跳转不同的功能选项进而实现
2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。
在“请选择相应功能(0-4):
”中使用者输入非0-4数字或其他字符时,系统提示“请检查您输入的数字在0~4之间!
请在输入一遍!
”的信息,以帮助用户进行正确选择。
3.首先建立了User类,用于初始化、、用水电、煤气量,又定义了缴费函数setMonery(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在setMoney(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。
4.用User类派生出Student和|Teacher类,其中有计算应该缴的费用,Student类比Teacher类多了免费。
5.在保存文件的处理中,需考虑到“创建保存文件失败!
”和“已成功保存文件!
”等诸多容。
(三)文件类型:
(1)Constant.h
用于存放收费标准。
(2)File.cpp
该文件中有两个类:
1.StuFile类,主要用于对学生信息的操作
函数
属性
注释
Public
StuFile()
构造函数
Public
voidadd(Student&s)
将S添加到文件中
Public
voiddisplay()
依次显示所有的学生的信息
Public
Student
*gerStudent(stringid)
得到学号为id的学生的对象指针
Public
~StuFile()
析构函数,释放资源,并把数组中的信息存进文件
Public
voidwjf()
未缴费的学生的
Private
vector
*stuList;
学生信息的向量数组,用于保存所有学生的信息
2TeacherFile类,主要用于对教工信息的操作
Public
TeacherFile()
构造函数
Public
voidadd(Teacher&s)
将s添加到文件中
Public
voiddisplay()
依次显示所有的教师信息
Public
Teacher*getTeacher
(stringid)
得到编号为id的教师的对象指针
Public
~TeacherFile()
析构函数,释放资源,并把数组中的信息存进文件
Public
voidwjf()
未交费的教工人员
Private
Vector
*teaLisr
教工的向量数组,用于保存所有教工的信息
(3)Main.cpp
函数
属性
注释
voidinit()
新建一个学生或者教工的信息
voidselect()
查询界面,根据用户的输入来显示用户想查询的信息
voidadd()
信息的录入,录入学生或者教工的水电煤气信息
voidhanded()
缴费,有学生或者教工缴费的时候调用此函数
intmainMenu()
主菜单,显示一个菜单,返回用户的输入
voidwork()
程序开始工作
intmain()
主函数,程序的入口
(4)Student.cpp
ClassStudent:
virtualpublicUser
函数
属性
注释
Public
Student():
User(“”,””,0,0,0)
构造函数
Public
Student(stringi,stringn,
Floatw=0,floatp=0,float
g=0):
User(i,n,w,p,g)
构造函数i:
学号n:
Public
voiddisplay()
依次显示所有的学生的信息
Public
floatdisplay()
返回学生应缴的费用
Private
floatfreeWater;
学生免费使用的水量
Private
floatfreePower;
学生免费使用的电量
Private
floatfreeGas;
学生免费使用的煤气量
Private
floatmoney;
缴费
(5)Teacher.cpp
ClassTeacher:
virtualpublicUser
函数
属性
注释
Public
Teacher(stringi,stringn,
floatw=0,floatp=0,float
g=0):
User(I,n,w,p,g)
构造函数
Public
voiddisplay()
依次显示所有的教工信息
Public
floatgetMoney()
返回教工应缴的费用
(6)User.cpp
函数
属性
注释
Public
User(stringi,stringn,float
w=0,floatp=0,floatg=0)
构造函数
Public
stringgetId()
获取编号
Public
stringgetName()
获取
Public
voidsetId(stringi)
设置编号
Public
voidsetName(stringn)
设置
Public
voidsetWater(floatw)
设置水量
Public
voidsetPower(floatp)
设置电量
Public
voidsetGas(floatg)
设置煤气量
Public
floatgetWater()
使用水量
Public
virtualvoiddisplay()=0;
依次显示所有信息
Public
voidsetMoney(floatm)
缴费
Public
virtualfloatgetMoney()=0;
应缴费用
(四)UML图:
StuFile
+id:
string
+name:
string
+useWater:
float
+usePower:
float
+useGas:
float
+money:
float
+add():
void
+display():
void
+wjf():
void
Student
-freeWater:
float
-freePower:
float
-freeGas:
float
+display():
void
+getMoney():
void
User
+i:
string
+n:
string
+w:
float
+p:
float
+g:
float
+getId():
string
+getName():
string
+setId(stringi):
string
+setName(stringn):
string
+setWater(floatw):
float
+setPower(floatp):
float
+setGas(floatg):
float
+getWater():
float
三.程序代码:
Constant.h
//收费标准
#ifndefConstant
#defineConstant
//教师
conststaticfloatTwaterUnit=1;
conststaticfloatTpowerUnit=1;
conststaticfloatTgasUnit=1;
//学生
conststaticfloatSwaterUnit=1;
conststaticfloatSpowerUnit=1;
conststaticfloatSgasUnit=1;
//保存学生信息的文件
conststaticchar*stuFlieName="s.txt";
//保存教师信息的文件
conststaticchar*teaFileName="t.txt";
#endif
Main.cpp
#include
#include
#include
#include
#include"Student.cpp"
#include"Teacher.cpp"
#include"File.cpp"
usingnamespacestd;
voidinit()
{
cout<cout<<"1.新建教工信息\n"
<<"2.新建学生信息\n"<cout<<"请选择你要进行的操作:
"<into;
cin>>o;
if(o==1)
{
stringid;
stringname;
cout<<"请输入新教工的号:
";
cin>>id;
cout<<"请输入新教工的:
";
cin>>name;
Teachert(id,name);
TeacherFiletf;
tf.add(t);
}
elseif(o==2)
{
stringid;
stringname;
cout<<"请输入新学生的号:
";
cin>>id;
cout<<"请输入新学生的:
";
cin>>name;
Students(id,name);
StuFilesf;
sf.add(s);
}
else
return;
}
voidselect()
{
cout<cout<<"1.学生的信息\n"
<<"2.教师的信息\n"
<<"3.按号查询\n"
<<"4.未缴费的人员\n"
<<"5.不进行任何的操作\n"<cout<<"请输入你要进行的操作:
";
into;
cin>>o;
StuFilesf;
TeacherFiletf;
if(o==1)
{
cout<<"该用户的信息是:
"<cout<<"|"<<<<<<sf.display();
}
elseif(o==2)
{
cout<<"该用户的信息是:
"<