版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
•if•if”,%t/»x«v
*7»*1**j、.j»»j»«,**•»,『*j»q、*5、,j»«、*1*,、,声
实践教学
•}•5jC*C32Rc•}•»^w*Cjjcsjc5^C号25^22{C2^CX•}•
兰州理工大学
计算机与通信学院
2023年秋季学期
面向对象课程设计
题目:电煤气管理系统
专业班级:计算机科学与技术四班
姓名:
学号:
指导教师:
成绩:____________________
目录
序言
摘要
第一章需求分析
第二章设计
2.1设计思想
2.2设计表达
2.3实现注释8
2.4具体设计表达8
第三章用户手册......................................................9
第四章调试及测试.................................
第五章附录一一源程序.............................................13
参考文献.............................................................34
设计小结.............................................................35
致谢36
序言
近年来,在计算机软件业,面向对象程序设计的思想已经被越来越多的软
件设计人员所接受。不仅由于它是一种最先进的,新奇的计算机程序设计思想,
最重要的是这种新的思想更接近人的思维活动,人们运用这种思想进行程序设
计时,可以很大限度地提高编程能力,减少软件维护的开销。面向对象程序设
计方法是通过增长软件的可扩充性和可重用性来提高程序员的编程能力。
随着计算机在我国广泛而进一步的应用,在分析和开发计算机系统软件和
应用软件的过程中,迫切需要掌握各种数据结构的描述方法以及相应的解决算
法。因此面向对象程序设计知识是计算机相关科学的学生和从事计算机应用的
技术人员必备的专业基础知识。著名的瑞士计算机科学家沃思提出:对象+消
息:程序。
摘要
电煤气管理系统程序的设计与实现,该程序具有登记费用,查询费用及住户
信息管理等功能。在课程设计中,程序设计语言采用VisualC++,程序运营平
台为WindowsXPo对于在设计时要考虑到学生和教工在用水电时的不同,学生
可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费
部分水电费的价格标准要高于教工的收费标准(重要是节约资源)。程序通过调
试运营,实现了最初的设计目的,并且通过适当完善后,在实际中可以解决更多
的问题。
关键词电煤气管理系统;程序设计;C++
第一章需求分析
本程序是一个水电气管理信息系统,可以对高校的水电气费用进行理,
涉及了成员基本信息,如学号、编号、姓名、成员水电气的用量;程序的用
途涉及缴纳水电气费、查询一个同学水电气费用量〃、查看所有同学的缴费
情
况、增长学生信息、删除学生信息、退出系统等。在设计时也考虑到学生和
教师在用水电气时的不同,学生可以免费使用一定额度的水电气,超过这个
额度的以后必须付费,且付费部分水电气费的价格要高于教工的收费标准,
该措施的实行是为了鼓励同学们节约用水,以免导致不必要的资源浪费。该
软件重要是为了学校的管理人员提供便捷,以更快的完毕水电气费用的收
缴。
该软件本着简洁明了,实用稳定与与一体。
第二章设计
1.设计思想:
设计面向对象的程序设计语言,一方面考虑的肯定是要设计类。程序
设计了四个类,两个是学生类,两个是教师类。在主函数中用动态数组,
机动的分派类存,以至于不导致类存的浪费。在本程序中涉及用户的选择,
用户要根据自己的实际需要选择不同的功能,由于选择的多样性,程序中
必须要有switch结构控制各个功能的选择,假如需要多次进行操作,则
要在switch结构的外部,通过循环来实现。一方面该程序的第一目的是
要读记事本里的内容,然后再根据用户的选项来实现各种不同的功能,当
对的按照规定就可进行更进一步进行操作,直到你达成自己的目的为止。
与while结构有着相似功能的if…else在本程序中的使用也是非常普遍
的。本程序通过调用不同的函数来实现不同的功能,通过用户自己的选择
可以自己进行操作,在主函数中申明的函数分别起到不同的作用,为了使
主函数但是于冗繁,故在本程序中所有的子函数都是在主函数外实现的。
在子函数的函数体中为了使程序的功能和细节更加的完善,在子函数中设
立菜单,这样不仅使得程序更加完善尚有助于用户的操作。使得程序更加
简洁明了。
2.设计表达:
在这个电煤气管理系统中,共用到了四个类,一个是Fccbz类,它起
的作用是把水电煤气的用量和每个人的缴费信息结合在一起,尚有《的重
载,最重要的就是那些对象都有共同的属性,通过这个类把学号、姓名、
水用量、电用量、气用量集中到一起,所以才干设计一个类;另一个类就
是StuMan类,这个类的作用重要就是一些功能的实现,有主菜单void
MainMenuO>交费菜单voidFeeMenuO、交费功能voidNumFeeO和void
NameFee()、查询菜单voidCheckMenu()、查询功能voidNumCheck()void
NameChcck()>增长功能voidAdd()、删除菜单voidDcletcMenuO删
除功能voidNun】Delete()和voidNameDeleteO查看功能void
Chakan()。
具体的见下的图标所表达的关系:
类函数或数据类型功能
重要是选择各种
MainMenu()void不同的功能
重要是选择用学
FeeMenu()号交费还是用姓
void名交费
NumFeevoid使用学号交费
NameFee()void输入姓名交费
重要是选择用学
CheckMenu()void号查询还是用姓
Feebz和函数名查询
StuMan成员
NumCheck()void输入学号查询
Add()void使用增长功能
NumDelete()void输入学号删除
NameDeletevoid输入姓名删除
()
stringnumber,name;
intflag;
doublewater,power,gas;
数
doubleWaterprice,Powerprice,Gasprice;
据成员
3.实现注释:
在本程序中各项功能的基本都能实现,除了基本的规定能实现之外,如实现
对用户信息的录入,实现水电煤气数据的录入,计算并查询用户应缴费用,查询
未缴纳费用名单.,还能实现对人员的删除和添加。只要能根据规定填写信息,一
般都不会出现特别严重的错误。
4.具体设计表达:
第三章用户手册
程序运营时,一方面提醒是选择学生电煤气管理系统还是选择教师电煤气
管
理系统,然后是用户动态分派内存,再会继续出来一个主菜单让用户选择。若选
择第一项缴纳水电气费,就会提醒用户是用学号交费还是用姓名交费进行选择;
若选择第二项查询一个同学的水电气费用量,同样也会提醒用户是用学号查询还
是用姓名查询进行选择;若选择第三项查看所有同学的缴费情况,则会出现已交
费的人员信息和未交费的人员信息;若选择第四项增长人员信息,则会出现“请
输入你要增长的学生数”的字样,然后根据提醒输入每个人的人员信息;若选择
第五项删除人员信息,则会提醒用户使用学号删除还是使用姓名删除;最后一项
无容置疑就是退出系统了。此外需要提醒的是输入信息的格式一定要和记事木上
的格式保持一致,否则就会出现错误。
第四章调试及测试
电煤气管理系统重要用于管理高校的人员使用的电煤气信息。写该程序的
首要目的就是要让它能顺利运营,运营之后再根据运营结果来找出该程序的弊
端,以更好的改善这个管理系统。可总是事与愿违,刚一写完时就一下子把我给
惊懵了,几十个错误,并且各个错误看上去痘很难改。但我并没有气馁,而是认
真的去对待这些错误。一方面我是将一些简朴而易见的错误给改止了,这并没有
花费我多少时间。后面都是一些比较难的错误,如Feebz(stringNum,string
Name,doubleWater,doublePower,doubleGas);应当改为Feebz(stringNumW,string
Namc="任家双",doubleWatcr=0,doublcPowcr=0,doubleGas=0);也就是后面必须
得赋值。尚有一个令我比较头疼的就是“>>”的重我,我开始没有用友元函数
来写,后来想到了可还是不对,得必须把这个友元函数写在类里面,其对的答案
就是:
friendostream&operator«(ostrcam&out,Fecbz&r)
{out«setw(6)«lefl«r.number;
out«setw(6)«left«r.name;
out<<setw(6)«left«r.water;
out«setw(6)«ieft«r.power;
out«setw(6)«left«r.gas;
out«setw(6)«left«r.GetW();
out«setw(6)«left«r.GetP();
out«setw(6)«left«r.GetG();
out«setw(6)<<left«r.GetTotal();
if(r.flag)
out«"已交"<vendl;
else
out<<“未交"<<endl;
returnout;
)
接下来的另一个问题就是如何读文献里的内容,这对我来说绝对是个头疼的问
题,由于当时在上课时我这部分内容学的就不是很好,于是就自己看课本,将书
上的第十一章全看了一遍,终于对这个知识点有了一个大约的理解,写出了这段
程序,如下:
ifstreamtfileC'studenl.txt");
while(tfile.good())
(
tfile»St[i].number;
lfile»St[i].name;
tfi!e»St[i].water;
tfile»St[i].power;
tfile»St[i].gas;
i++;
)
tfile.close();
最后一个难解的问题就是errorC2668:'StuMan::StuMan':ambiguouscallto
overloadedfunction这段提醒,然后通过在网上的了解,终于将它给改正过来了。
这时我感觉自己越来越接近胜利了,可始终还是有一个错误,并且错误是在主函
数中,最后通过仔细的思考,本来是没有创建对象,直接写了StuMan.MainMenuO,
可事实上应当是StuManxuesheng;xueshengMainMenu。;在解决这些问题期间,
对我来说最难解决的就是在文献的读取方面,在没有写这个程序之前我对磁盘文
献可谓是一无所知,但这个程序必须要用到磁盘文献,在运用这个知识点时错误
就不断的出现,就像文献的读入,本来应是ofilevv,但由于对问题的不深,我
总是写成虽然这些都是些小问题,可写程序自身就是件很严谨的事情,
一个小错误都不能错误,否则这程序还是不能运营,所以我们不可以忽略它们,
我们在平时多注意点就会很容易的避免这些错误,同时也就会节省很多的时间。
在写这个程序花的时间很长,也许是由于在家的缘故,没有集中的时间去做这个
工作,通常是集中花几天时间先写一点,然后就停了几天,结果再到写的时候,
就乂忘掉了当时的思绪,结果就做了很多的无用功。所以写程序时一定不能三心
二意,要集中一段时间将它写完,这样不仅能节省许多时间,并且还能提高程序
的准确性。
运营实例:
cT:\DocuaentsandSettings'AdainistratoxA桌面M
欢迎使
2.教师电:
3.退出系s统ir
X-X*MX-X*-XM-*XXXXXXMXXXX
青选择J
若选学生电煤气管理系统,则会出现以下阿面:
cT*C:\DocwientsandSettings\Ad*inistrator\:
请输入麻要霸殍牌
然后继续按规定输入,就会出现以下的菜单,如下图:
1一一w25u
1水
气
电
水
气
量
2一I
同
个
的
寿
国
3同
有
信
4Z生
心
信
生
5息
子
统
6系
出现这个画面后,接着就是继续按照规定来写,如选3,就会得到如下想要的结
果:
术容费学生信息
李夸姓名用水量用电量用煤气量水费电费煤气费总额
否
0904032011任家双21344916.8025.8三交
0904032012宋字健12683.601.24.8三交
0904032013孙宝92371.810.20.612.6
0904032014亍庆庆1012102.43.62.48.4、./
0904032015吕东3412416.83.6020.4
0904032016闫矗13394.201.86:支
0904032017方宏源23121910.23.67.821.6G交
0904032018沈隼陶21369009一、
0904032019奉明Cfl
、、¥23211210.293.622.8三交
0904032020磔利327815.60.61.217.4
第五章附录——源程序
StuMan.h
#include"iostream”
#include"string”
#include“cstdlib”
itincludeiomanip
#include"fstream”
usingnamespacestd;
intns,nt;
classFccbz学生的信息类
{
public:
Feebz(stringNum="",stringName一任家双〃,doublewater=l,double
power=0,doublegas=10);构造函数
friendostreamftoperator«(ostream&out,Feebz&)运算符重载
(out«setw(12X<left«r.number;
out«setw(8)«left«r.name;
out«setw(8)<<left«r.water;
out«setw(8)<<left«r.power;
out«setw(8)«left«r.gas;
out«setw(8)«left«r.GetW();
out«setw(8)<<left«r.GetP();
out«setw(8)«left«r.GetGO;
out«setw(8X<left«r.GetTotal();
if(r.flag)
out<<"已交";
else
oul<<"未交";
returnout;
}
voidoperator=(Feebzr);运算符重载
doubleGetW();计算学生水费
doubleGetP();计算学生电费
doubleGetG();计算学气愤费
doubleGetTotalO{returnGetW()+GetP()+GetG0;}计算学生总费用
stringnumber,name;
intflag;
doublewater,power.gas,Waterprice,Powerprice,Gasprice;
);
Feebz::Feebz(stringNum,stringName,doubleWater,doublePower,doubleGas)
构造函数
{number=Num;
name=Name;
water=Water;
power=Power;
gas=Gas;
flag=0;
)
voidFeebz::operator=(Feebzr)赋值运算符重载
{name=r.name;
number=r.number;
water=r.water;
power=r.power;
gas=r.gas;
)
doubleFeebz::GetW()计算学生水费
(
if(water<=6)
Waterprice=O;
ok。
Watcrprice=O.6*(watcr-6);
returnWaterprice;
)
doubleFeebz::GetP()计算学生电费
{if(power<=6)
Powerprice=0;
else
Powerprice=0.6*(power-6);
returnPowerprice;
)
doubleFeebz::GetG()计算学气愤费
{if(gas<=6)
Powerprice=0;
else
Powerprice=0.6*(gas-6);
returnPowerprice;
)
classStuMan学生管理类
{public:
StuMan(intsz=50){size=sz;St=newFeebz[size];}构造函数
^StuMan(){delete[]St;}析构函数
voidMainMenu():主菜单
voidFeoMenu();学生交费菜单
voidNumFeeO;输入学号交费
voidNameFee();输入姓名交费
voidCheckMenu();学生查询菜单
voidNumCheck();输入学号杳询
voidNameCheck();输入姓名查询
voidAdd();增长学生功能
voidDeleteMenu();学生删除菜单
voidNumDclcteO;输入学号删除
voidNameDeleteO;输入姓名删除
voidRegist();
voidChakanO;学生查看作用
private:
intsize;
Feebz*St;
);
voidStuMan::MainMenu()主菜单
fsystcm("cls");
intchoice;
cout<<,*************************************,<<endl;
cout«/,欢迎使用学生水电气费管理系统"<<endl;
cout«/,1.缴纳水电气费"<<endl;
cout«z,2.查询一个同学水电气费用量"式endl;
cout«z,3.查看所有同学的缴费情况“<<endl;
cout<<"4.增长学生信息"<<endl;
cout«z,5.删除学生信息"<<endl;
cout<</,6.退出系统"rendl;
cout«〃*************************************〃<Xendl;
whiIe(1)
(
cout<<"请选择:”;
cin>>choice;
switch(choice)
{case1:FeeMcnu();break;
case2:CheckMenu();break;
case3:Chakan();break;
case4:Add();break;
case5:DeleteMenu();break;
default:break;
}if(choice==6)break;}
)
voidStuMan::Regist()
{inti=0;
ifstreamtfile("student,txt");
while(tfile.good())
{
tfile»St[i].number;
tfile»St[i].name;
tfile»St[i].water;
tfile»St[i].power;
tfile»St[i].gas;
i++;
)
tfile.closeO;
ns=i;
)
voidStuMan::FeeMenu()学生交费菜单
{system("cis");
intchoice;
cout<<〃********************”<<endl;
cout«w学生交费菜单〃Gendl;
cout<<”L按照学号交费"<<cndl;
cout<<”2.按照姓名交费〃<<endl;
cout<<”3.返回主菜单”《endl;
cout«w4.退出系统"<<endl;
cout«w********************”<<cndl;
while(l)
cout<<“请选择:";
cin>>choice;
switch(choice)
case1:NumFee();break;
case2:NameFee();break;
case3:system("cls");
MainMenu0;break;
default:exit(l);
)
if(choice==3)break;
}
voidStuMan::NumFee()输入学号交费
(stringnumber;
floatmoney;
intflag=0,flag1=0;
cout«"欢迎使用交费功能"<<endl;
cout<<〃请输入学生学号:〃;
cin>>number;
for(inti=0;i<ns;i++)
if(nnmhpr==St[i]numhpr)
{flagl=l;
cout<<"该同学应当交费共“〈〈St[i].GetTotal()<<"元〃<<endl;
cout<〈”该同学实际交钱:";
cin»money;
if(money<St[i].GetTotal())
{cout<<“该同学需再补交"<<St[i].GetTotal()-money<<"元"<<endl;
St[i].flag=0;
MainMenu();
)
else
{cout<,该同学交费成功,且找零钱为“〈学oney-S功i].GetTota为)<<"元"<<endl;
St[i].flag=l;
MainMenuO;
}break;
)
if(Iflagl)
{system("cls〃);
cout<<〃该学生的学号输入错误,请重新使用该功能!〃<<cndl;
NumFee();
)
)
voidStuMan::NameFee()输入姓名交费
{stringnamp;
floatmoney;
intflag=0,flagl=0;
cout«"欢迎使用交费功能〃Gendl;
cout<<〃请输入学生姓名:〃;
cin»name;
for(inti=0;i<ns;i++)
if(name==St[i].name)
{flagl=l;
cout<<"该同学应当交费共“<<St[i].GetTotal()<<"元"<<endl;
cout<<“该同学实际交钱:〃;
cin>>money;
if(money<St[i].GetTotal())
{cout<<"该同学需再补交"<<St[i].GetTotal()-money<<"元"<<endl;
St[i].flag-0;
MainMenuO;
}
else
{cout<〈”该同学交费成功,且找零钱为“<<moncy-St[i].GctTotal()«,,7tz/<<cndl;
St[i].flag=l;
MainMenuO;
}break;
)
if(!flagl)
{system("cis");
cout<<“该学生的姓名输入错误,请重新使用该功能!〃<<endl;
NameFeeO;
)
)
voidStuMan::CheckMenu()学生查询菜单
{system("cis");
intchoice;
cout«,z********************”<<endl
cout<<”学生查询菜单"<<endl;
cout«,/1.按照学号查询〃<<endl;
cout«,z2.按照姓名查询〃<<endl;
cout<<”3.返回主菜单”<<endl;
cout«z,4.退出系统〃<<endl;
cout<<〃********************”<<endl;
while(l)
(
cout<<"请选择:"Vendl;
cin>>choice;
switch(choice)
{case1:NumCheck();break;
case2:NameChcck();break;
case3:system("cls");
MainMenu(>;break;
default:exit(1);
}if(choice==3)break;
}
)
voidStuMan::NumCheck()输入学号查询
{stringnumber;
intflag1=0,i,item;
cout«w欢迎使用查询功能〃<<cndl;
cout<<〃请输入需要查找的学生学号:“;
cin»number;
for(i=0;i<ns;i++)
if(number==St[i].number)
{flagl-1;
item=i;
break;
)
if(flagl)
{cout<<〃学号"<<"姓名〃<<"用水量"<<〃用电量"<<〃用煤气量〃〈<〃水
费〃<<"电费"<<〃煤气费”《〃总额〃<<”交费否〃<<cndl;
cout«St[item]«endl;
)
plSA
(system("cis");
cout<<〃该学生的学号输入错误,请重新使用该功能!〃<<endl;
NumCheck();
)
)
voidStuMan::NameCheck()输入姓名查询
{stringname;
intflagl=0,i,item;
cout<<〃欢迎使用查询功能”<<endl;
cout<<〃请输入需要查找的学生姓名:";
cin>>name;
for(i=0;i<ns;i++)
if(name-St[i].name)
{flagl=l;
item=i;
break;
)
if(flagl)
{cout<<"学号〃<V姓名用水量"<<"用电量“<<〃用煤气量"<<”水
费”<<〃电费〃<<〃煤气费"<<"总额”<<〃交费否"<〈endl;
cout«St[item]<<endl;
)
else
{system(^cls^);
cout<<〃该学生的学号输入错误,请重新使用该功能!〃《endl;
NameCheck();
)
1
voidStuMan::De1eteMenu()学生删除菜单
{system(^cls*);
intchoice;
cout<<〃********************"«endl;
cout«"学生删除菜单〃<<cndl;
cout<<“1.按照学号删除“<<endl;
cout«"2.按照姓名删除〃<<endl;
cout«*3.返回主菜单"<<endl;
cout<<〃4.退出系统"<<endl;
cout<<"********************"«end1;
while(l)
cout<<〃请选择:“;
cin>>choice;
switch(choice)
{case1:NumDelete();break;
case2:NameDelete();break;
case3:system(〃cls");
MainMenuO;break;
default:exit(1);
}if(choice==3)break;
}
)
voidStuMan::NumDe1ete()输入学号删除
{stringnumber;
intitem=l,i,j;
cout<<"欢迎使用删除功能”"endl;
cout<<〃请输入要删除学生的学号:";
cin>>number;
for(i-0;i<ns;i++)
if(number==St[i].number)
{item=O;
J=i;
break;
)
if(!item)
{for(j=i;j<ns-l;j++)
St[j]=St[j+l];
cout<<”该学生的信息已被删除!〃<<endl;
)
if(item)
{systcm("cls");
cout<<“该学生的学号输入错误,请重新使用该功能!“式endl;
NumDeleteO;
}
)
voidStuMan::NameDelete()输入姓名删除
{stringname;
intitem=l,i,j;
CQUt<<〃欢迎使用删除功能”<<endl;
cout<<〃请输入要删除学生的姓名:”;
cin>>name;
for(i-0;i<ns;i++)
if((name=St[i].name))
{item=O:
J=i;
break;
)
if(!item)
for(j=i;j<ns-l;j++)
St[j]=St[j+l];
cout<<”该学生的信息已被删除!〃<<endl;
if(item)
{systemC,cls,/);
cout<<〃该学生的姓名输入错误,请重新使用该功能!”<<cndl;
NameDeleteO;
)
)
voidStuMan::Add()增长学生功能
{intn,j=l;
cout<<〃请输入你要增长的学生数:〃;
cin»n;
i=ns;
for(;ns<i+n;ns++)
(cout<<〃请输入第〃〈<j<〈”个学生的学号、姓名、水用量、电用量、用气量:〃<<endl;
cin>>St[ns],number;
cin>>St[ns],name;
cin>>St[ns],water;
cin>>St[ns],power;
cin>>St[ns],gas;
j++;
)
)
voidStuMan::Chakan()学生查看功能
{inti:
cout<<〃已交费学生信息”<<cndl;
cout<<〃学号”<〈〃姓名〃<<〃用水量”<〈〃用电量"<<〃用煤气量〃<<"水
费〃<<〃电费”<<〃煤气费“<<"总额"<<〃交费否〃<<endl;
for(i=0;i<ns;i++)
if(St[i].flag)
cout«St[i];
cout<<endl;
cout«endl;
cout«cndl;
cout<〈”未交费学生信息”<<endl;
cout<<"学号〃<<"姓名"<<〃用水量"<<“用电量〃<<"用煤气量"<<〃
水费”<<〃电费"其"煤气费"<<"总额«交费否〃<<endl;
for(i=0;i<ns;i++j
if(!St[i].flag)
cout«St[i];
1
TeaMan.h
#include"StuMan.h"
classTFeebz教师的信息类
(
public:
TFeebz(stringNum="09",stringName=”项响琴doublewater=l,double
powpr=0,doiiF)Ipga«=l0);
friendostream&opcrator«(ostrcam&out,TFeebz&r)运算符重载
{out«setw(12)<<left«r.number;
out«setw(8X<left«r.name;
out«setw(8)«left«r.water;
out«setw(8)«left<<r.power;
out«setw(8)«left<<r.gas;
out«setw(8)«left«r.GetW();
out«setw(8X<left«r.GetP();
out«setw(8)«left<<r.GctG();
out«setw(8)«left«r.GetTotal();
if(r.flag)
out<<"己交";
else
out<<“未交";
returnout;
}
voidoperator=(TFeebzr);运算符重载
doubleGctW();计算教师水费
doubleGetP();计算教师电费
doubleGetGO;计算教师气费
doubleGetTotal(){returnGetW()+GetP()+GetG();)计算教师总费用
stringnumber.name;
intflag;
doublewater,power,gas,Waterprice,Powerprice,Gasprice;
};
TFeebz::TFeebz(stringNum,stringName,doubleWater,doublePower,doubleGas)
构造函数
(number=Num;
name二Name;
water=Water;
power=Power;
gas=Gas;
flag=0;
}
voidTFeebz::operator=(TFeebzr)运算符重载
{name=r.name;
number=r.number;
water二r.water;
power;r.power;
gas=r.gas;
)
doubleTFeebz::GetW()计算教师水费
{Waterprice=O.5*(water-6);
returnWatprpriCP:
)
doubleTFeebz::GetP()计算教师电费
{Powerprice=0.5*(power-6);
returnPowerprice;
)
doubleTFccbz::GetG()计算教师气费
{Powerprice=0.5*(gas-6);
returnPowerprice;
)
classTeaMan教师管理类
{public:
TeaMan(intsz=50){size=sz;Te=newTFeebz[size];}构造函数
^TeaMan(){delete[]Te;}析构函数
voidMciinMenuO;主菜单
voidFeeMenuO;教师交费菜单
voidNumFceO;输入编号交费
voidNameFee。;输入姓名交费
voidCheckMenu();教师查询菜单
voidNumCheck();输入编号查询
voidNameChcck();输入姓名查询
voidAdd();增长教师功能
voidDeleteMenuO;教师删除菜单
voidNumDeleteO;输入编号删除
voidNamcDoleteO;输入姓名删除
voidRegist0;
voidChakan();教师查看菜单
private:
intsize;
TFeebz*Te;
);
voidTeaMan::MainMenu()主菜单
{system("cis");
intchoice;
cout<X”*************************************”<Xendl;
cout«欢迎使用教师水电气费管理系统”<<endl;
cout«z,1.缴纳水电气费"<<endl;
cout«,/2.查询一个教师水电气费用量“<<endl;
cout«/,3.查看所有教师的缴费情况”<<endl;
cout«z/4.增长教师信息"<<endl;
cout<<*5.删除教师信息"<<endl;
cout«"6.退出系统“<<endl;
coul〈〈”*************************************"〈〈endI;
while(1)
cout<〈”请选择:〃;
cin»choice;
switch(choice)
{case1:FeeMenu();break;
Ccise2:CheckMenu();break;
case3:Chakan();break;
case4:Add();break;
case5:DeleteMenu();break;
default:break;
)if(choice=6)break;
)
)
voidTeaMan::Regist()
{inti-0;
ifstreamtfile("teacher,txt");
while(tfile.good(>)
(
tfilc»Te[i].number;
tfile>>Te[i].name;
tfile»Te[i].water;
tfile»Te[i].power;
tfilc»To[i].gas;
i++;
)
tfile.closeO;
nt=i;
)
voidTeaMan::FeeMenu()教师交费菜单
(system(^cls^)
intchoice;
cout«/z********************〃<<endl;
coul<<"教帅交费菜单〃。endl;
cout«,z1.按照编号号交费〃《endl;
cout«^2.按照姓名交费〃<<endl;
cout<<w3.返回主菜单"<<endl;
cout«,z4.退出系统“<<cndl;
cout<<〃********************”<<endl;
while(l)
cout<<"请选择:”;
cin>>choice;
switch(choice)
case1:NumFee();break;
case2:NameFee();break;
case3:system(〃cls");
MainMenuO;break;
default:exit(1);
)if(choice==3)break;
}
)
voidTeaMan::NumFee0输入编号交费
(stringnumber;
floatmoney;
intflag=0,flagl=0;
cout<<〃欢迎使用交费功能〃<<endl;
cout<<〃请输入教师编号:〃;
cin>>number;
for(inti-0;i<nt;i++)
if(number==Te[i].number)
{flagl=l;
cout<<”该教师应当交费共"<<Te[i].GetTotal()<<"元"<<endl;
cout<〈”该教师实际交钱:“;
cin>>money;
if(money<Te[i].GetTotal())
{cout<<"该教师需再补交〃<<T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政声屏障清洁及构件更换方案
- 2026上半年中学教师资格证考试《语文学科知识与教学能力》真题卷及答案
- 船舶压载水处理系统运维规程
- 雕刻机安全操作规程
- Oracle高频面试题及详细答案(实战版)
- OCA认证考试真题及详细答案解析
- 地铁盾构隧道病害整治方案
- 添加剂留样管理员操作规程
- 仓管员入职试题及答案
- 双盲应急演练实施方案
- 粮仓防水施工方案
- 2025年派出所民警个人年度工作小结(全文)
- 死囚漫步五步陷阱课件
- 防雷安全隐患排查治理制度
- 2025届吉林省吉林市高三下学期10月一模考试-化学试题(含答案)
- 2025年国家基本公共卫生服务项目培训试题(附答案)
- 《电工(五级)理论知识考核要素细目表》
- 临床试验医学经理核心能力体系
- 锚定效应在认知心理学中的研究-全面剖析
- 仓库三级安全教育培训
- 统编小学语文四年级上册第四单元整体作业设计
评论
0/150
提交评论