您好,欢迎访问三七文档
面向对象程序设计课外实践报告项目名称:水电气管理系统所在班级:计算机科技与技术小组成员:王耀权、董金明指导教师:葛文英起止时间:2014.11.25——2015.12.20安阳师范学院面向对象程序设计课外实践项目基本信息项目名称设计一个水电气管理系统项目简介1.问题描述设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。2.基本要求⑴实现对用户信息的录入。⑵实现水电煤气数据的录入。⑶计算并查询用户应缴费用。⑷查询未缴纳费用的名单。3.测试数据可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。小组成员王耀权、董金明任务分工这个程序是一起做的,王耀权主要做的是学生水电气管理系统,董金明做的是老师水电气管理系统,然后再会合改错误,最后一起把这个是实验报告完成。一、问题描述及分析:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。二、功能模块及结构描述:功能模块:1.在主函数中通过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。在“请选择相应功能(1-3):”中使用者输入非1-3数字或其他字符时,系统安阳师范学院面向对象程序设计课外实践提示结束然后从新开始。3.进入学生管理系统菜单或者老师管理系统菜单会出现相应功能(1-6):分别对应的有交费功能、查询一个功能、、查询全部功能、增加功能、删除功能。学生的查询功能分别为学号和姓名,老师的查询功能为编号和姓名,也可以查询到是否缴费,如未交费就会分别显示水费、电费、煤气费、费用并显示总费用。4.交费时它会显示费用多少,实际交了多少钱,如果钱交多了显示应找零多少。结构描述:1.首先建立了Feebz类,用于初始化身份证号码、姓名、用水电、煤气量,又定义了缴费函数Get(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在Get(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。2.用Feebz类派生出StuMan和|TeaMan类,其中有计算应该缴的费用,StuMan类比TeaMan类多了免费。3.在保存文件的处理中,需考虑到“查询失败”和“重新输入”等诸多内容安阳师范学院面向对象程序设计课外实践三、主要流程描述:流程图:选择操作对象水电气管理系统选操作对象退出系统教师学生选择操作对象缴纳水电气费查询一个学生水电气用量查询所有学生交费情况增加学生信息删除学生信息退出系统缴纳水电气费查询一个教师的水电用量查询所有教师缴费情况增加教师信息删除教师信息退出系统退出退出系统安阳师范学院面向对象程序设计课外实践四、使用说明:程序运行后,进入界面:安阳师范学院面向对象程序设计课外实践安阳师范学院面向对象程序设计课外实践安阳师范学院面向对象程序设计课外实践安阳师范学院面向对象程序设计课外实践在如上所示的界面下,根据提示进行基本的操作。五、问题及解决方法问题1.觉得该系统的不足就是不能够实现查看某个人的用水量、用电量或者用气量中的一种和应该支付的钱。问题2还有一个不足就是程序感觉不够简练,有点罗嗦。解决方法:对于解决这些问题,觉得应该定义子函数来提取每个人的信息这样就可以实现查看某人的用水量、用电量、或者用气量的一种和应该支付的钱。对于问题2这需要有扎实的基本功,能都用最简短的源程序代码去解决一个相同的问题。六、实践总结:课程设汁的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋,只怪自己平时看书太少,其实有很多东匹在书上都可以找到答案的,安阳师范学院面向对象程序设计课外实践可是还是有一些问題我实在没有办法解决,最终通过老师和同学们的努力解决了一个又一个的问题。通过这次课程设计,我学习到了很多知识,并且给了我一个星月的时间去重新认真的有目的性的C++语言进行复习,查找补漏,为后续课程做充足的准备。设计的过程是困难的,因为以前没有类似的经验刚开始的几天没有太多进展,不过我们没有灰心,经过认真思考以及老师帮助,最我们有了很好的设设计方法。程序的完成使我们很高兴,所有的疲惫己经不算什么了,现在觉得要想编写一个好的程序真的很累,它需要牢固的基础知识作为铺垫,所有源代码的编写输入以及每一步的调试都容不得一点马虎,整个牢固的基础是编程的最基本需要,要想好每一步的算法,要想到每一个相应的函数。我觉得一月的课程设计远远比我自己看一学期书的收获多,实践是检验知识的最隹手段。七、源代码:#includeiostream#includestring#includecstdlib#includeiomanip#includefstreamusingnamespacestd;intns,nt;classFeebz//学生的信息类{public:Feebz(stringNum=140901019,stringName=董金明,doublewater=1,doublepower=0,doublegas=10);//构造函数friendostream&operator(ostream&out,Feebz&r)//运算符重载安阳师范学院面向对象程序设计课外实践{outsetw(12)leftr.number;outsetw(8)leftr.name;outsetw(8)leftr.water;outsetw(8)leftr.power;outsetw(8)leftr.gas;outsetw(8)leftr.GetW();outsetw(8)leftr.GetP();outsetw(8)leftr.GetG();outsetw(8)leftr.GetTotal();if(r.flag)out已交;elseout未交;returnout;}voidoperator=(Feebzr);//运算符重载doubleGetW();//计算学生水费doubleGetP();//计算学生电费doubleGetG();//计算学生气费doubleGetTotal(){returnGetW()+GetP()+GetG();}//计算学生总费用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=0;elseWaterprice=0.6*(water-6);returnWaterprice;}doubleFeebz::GetP()//计算学生电费{if(power=6)Powerprice=0;elsePowerprice=0.6*(power-6);returnPowerprice;}安阳师范学院面向对象程序设计课外实践doubleFeebz::GetG()//计算学生气费{if(gas=6)Powerprice=0;elsePowerprice=0.6*(gas-6);returnPowerprice;}classStuMan//学生管理类{public:StuMan(intsz=50){size=sz;St=newFeebz[size];}//构造函数~StuMan(){delete[]St;}//析构函数voidMainMenu();//主菜单voidFeeMenu();//学生交费菜单voidNumFee();//输入学号交费voidNameFee();//输入姓名交费voidCheckMenu();//学生查询菜单voidNumCheck();//输入学号查询voidNameCheck();//输入姓名查询voidAdd();//增加学生功能voidDeleteMenu();//学生删除菜单安阳师范学院面向对象程序设计课外实践voidNumDelete();//输入学号删除voidNameDelete();//输入姓名删除voidRegist();voidChakan();//学生查看作用private:intsize;Feebz*St;};voidStuMan::MainMenu()//主菜单{system(cls);intchoice;cout☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆endl;cout☆☆endl;cout☆水电煤气管理系统☆endl;cout☆☆endl;cout☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆endl;cout欢迎使用教师水电气费管理系统endl;cout1.缴纳水电气费endl;cout2.查询一个同学水电气费用量endl;cout3.查看所有同学的缴费情况endl;cout4.增加学生信息endl;cout5.删除学生信息endl;cout6.退出系统endl;安阳师范学院面向对象程序设计课外实践while(1){cout请选择:;cinchoice;switch(choice){case1:FeeMenu();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()){tfileSt[i].number;tfileSt[i].name;tfileSt[i].water;tfileSt[i].power;tfileSt[i].gas;i++;}tfile.close();ns=i;}voidStuMan::FeeMenu()//学生交费菜单{system(cls);intchoice;cout☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆endl;cout☆☆endl;cout☆水电煤气管理系统☆endl;cout☆☆endl;cout☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆endl;安阳师范学院面向对象程序设计课外实践cout学生交费菜单endl;cout1.按照学号交费endl;cout2.按照姓名交费endl;cout3.返回主菜单endl;cout4.退出系统endl;while(1){cout请选择:;cinchoice;switch(choice){case1:NumFee()
本文标题:水电煤气管理系统
链接地址:https://www.777doc.com/doc-327028 .html