ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:256.12KB ,
资源ID:4972385      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4972385.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(水电煤气管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

水电煤气管理系统.docx

1、水电煤气管理系统 面向对象程序设计课外实践报告项 目 名 称: 水电气管理系统 所 在 班 级: 计算机科技与技术 小 组 成 员: 王耀权、董金明 指 导 教 师: * 起 止 时 间: 2014.11.252015.12.20 项目基本信息项目名称设计一个水电气管理系统项目简介1问题描述设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。2基本要求实现对用户信息的录入。实

2、现水电煤气数据的录入。计算并查询用户应缴费用。查询未缴纳费用的名单。3测试数据可选用小区物业管理部门的数据,也可采用手工输入不少于10个用户信息的数据。小组成员 王耀权、董金明任务分工这个程序是一起做的,王耀权主要做的是学生水电气管理系统,董金明做的是老师水电气管理系统,然后再会合改错误,最后一起把这个是实验报告完成。一、问题描述及分析:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要

3、是节约资源)。二、功能模块及结构描述:功能模块: 1.在主函数中通过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。在“请选择相应功能(1-3):”中使用者输入非1-3数字或其他字符时,系统提示结束然后从新开始。3.进入学生管理系统菜单或者老师管理系统菜单会出现相应功能(1-6):分别对应的有交费功能、查询一个功能、查询全部功能、增加功能、删除功能。学生的查询功能分别为学号和姓名,老师的查询功能为编号和姓名,也可以查询到是否缴费,如未交费就会分别显示水费、电费、煤气费、费用并显示总费用。4.交费时它会显示费用多少,实际交了多少钱,如果钱交多了

4、显示应找零多少。结构描述: 1.首先建立了Feebz类,用于初始化身份证号码、姓名、用水电、煤气量,又定义了缴费函数Get(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在Get(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。2.用Feebz类派生出StuMan和|TeaMan类,其中有计算应该缴的费用,StuMan类比TeaMan类多了免费。3.在保存文件的处理中,需考虑到“查询失败”和“重新输入”等诸多内容三、主要流程描述:流程图: 四、使用说明:程序运行后,进入界面:在如上所示的界面下,根据提示进行基本的

5、操作。五、问题及解决方法问题1. 觉得该系统的不足就是不能够实现查看某个人的用水量、用电量或者用气量中的一种和应该支付的钱。 问题2还有一个不足就是程序感觉不够简练,有点罗嗦。解决方法:对于解决这些问题,觉得应该定义子函数来提取每个人的信息这样就可以实现查看某人的用水量、用电量、或者用气量的一种和应该支付的钱。对于问题2这需要有扎实的基本功,能都用最简短的源程序代码去解决一个相同的问题。六、实践总结:课程设汁的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋,只怪自己平时看书太少,其实有很多东匹在书上都可以找到答案的,可是还是有一些问題我实在没有办法解决,最终通过老师和同学们的努

6、力解决了一个又一个的问题。通过这次课程设计,我学习到了很多知识,并且给了我一个星月的时间去重新认真的有目的性的C+语言进行复习,查找补漏,为后续课程做充足的准备。设计的过程是困难的,因为以前没有类似的经验刚开始的几天没有太多进展,不过我们没有灰心,经过认真思考以及老师帮助,最我们有了很好的设设计方法。程序的完成使我们很高兴,所有的疲惫己经不算什么了,现在觉得要想编写一个好的程序真的很累,它需要牢固的基础知识作为 铺垫,所有源代码的编写输入以及每一步的调试都容不得一点马虎,整个牢固的基础是编程的最基本需要,要想好每一步的算法,要想到每一个相应的函数。我觉得一月的课程设计远远比我自己看一学期书的

7、收获多,实践是检验知识的最隹手段。七、源代码:#include #include #include #include #include using namespace std; int ns,nt; class Feebz / 学生的信息类 public: Feebz(string Num=140901019,string Name=董金明, double water=1,double power=0,double gas=10); / 构造函数 friend ostream &operator (ostream &out,Feebz &r) /运算符重载 outsetw(12)leftr.n

8、umber; 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已交; else out未交; return out; void operator =(Feebz r); / 运算符重载 double GetW(); / 计算学生水费 doub

9、le GetP(); / 计算学生电费 double GetG(); / 计算学生气费 double GetTotal() return GetW()+GetP()+GetG(); / 计算学生总费用 string number,name; int flag; double water,power,gas,Waterprice,Powerprice,Gasprice; ; Feebz:Feebz(string Num,string Name, double Water, double Power, double Gas) / 构造函数 number=Num; name=Name; water=

10、Water; power=Power; gas=Gas; flag=0; void Feebz:operator =(Feebz r) / 赋值运算符重载 name=r.name; number=r.number; water=r.water; power=r.power; gas=r.gas; double Feebz:GetW() / 计算学生水费 if(water=6) Waterprice=0; else Waterprice=0.6*(water-6); return Waterprice; double Feebz:GetP() / 计算学生电费 if(power=6) Power

11、price=0; else Powerprice=0.6*(power-6); return Powerprice; double Feebz:GetG() / 计算学生气费 if(gas=6) Powerprice=0; else Powerprice=0.6*(gas-6); return Powerprice; class StuMan / 学生管理类 public: StuMan(int sz=50) size=sz; St=new Feebzsize; /构造函数 StuMan() delete St; / 析构函数 void MainMenu(); / 主菜单 void FeeMe

12、nu(); / 学生交费菜单 void NumFee(); / 输入学号交费void NameFee(); / 输入姓名交费 void CheckMenu(); / 学生查询菜单 void NumCheck(); / 输入学号查询 void NameCheck(); / 输入姓名查询 void Add(); / 增加学生功能 void DeleteMenu(); / 学生删除菜单 void NumDelete(); / 输入学号删除 void NameDelete(); / 输入姓名删除void Regist(); void Chakan(); / 学生查看作用private: int siz

13、e; Feebz *St; ; void StuMan:MainMenu() / 主菜单 system(cls); int choice; cout endl; cout endl; cout 水电煤气管理系统 endl; cout endl; cout endl; cout 欢 迎 使 用 教 师 水 电 气 费 管 理 系 统endl; cout 1.缴纳水电气费endl; cout 2.查询一个同学水电气费用量endl; cout 3.查看所有同学的缴费情况endl; cout 4.增加学生信息endl; cout 5.删除学生信息endl; cout 6.退出系统endl; while

14、(1) coutchoice; switch(choice) case 1:FeeMenu(); break; case 2:CheckMenu(); break; case 3:Chakan(); break; case 4:Add(); break; case 5:DeleteMenu(); break; default: break; if(choice=6) break; void StuMan:Regist() int i=0; ifstream tfile(student.txt); while(tfile.good() tfileSti.number; tfileSti.name

15、; tfileSti.water; tfileSti.power; tfileSti.gas; i+; tfile.close(); ns=i; void StuMan:FeeMenu() /学生交费菜单 system(cls); int choice; cout endl; cout endl; cout 水电煤气管理系统 endl; cout endl; cout endl; cout 学 生 交 费 菜 单endl; cout 1.按照学号交费endl; cout 2.按照姓名交费endl; cout 3.返回主菜单endl; cout 4.退出系统endl; while(1) cout

16、choice; switch(choice) case 1:NumFee(); break; case 2:NameFee(); break; case 3:system(cls); MainMenu(); break; default:exit(1); if(choice=3) break; void StuMan:NumFee() / 输入学号交费 string number; float money; int flag=0,flag1=0; cout欢迎使用交费功能endl; coutnumber; for(int i=0;ins;i+) if(number=Sti.number) fl

17、ag1=1; cout该同学应该交费共Sti.GetTotal()元endl; coutmoney; if(moneySti.GetTotal() cout该同学需再补交Sti.GetTotal()-money元endl; Sti.flag=0; MainMenu(); else cout该同学交费成功,且找零钱为money-Sti.GetTotal()元endl; Sti.flag=1; MainMenu(); break; if(!flag1) system(cls); cout该学生的学号输入错误,请重新使用该功能!endl; NumFee(); void StuMan:NameFee(

18、) / 输入姓名交费 string name; float money; int flag=0,flag1=0; cout 欢迎使用交费功能endl; coutname; for(int i=0;ins;i+) if(name=Sti.name) flag1=1; cout该同学应该交费共Sti.GetTotal()元endl; coutmoney; if(moneySti.GetTotal() cout该同学需再补交Sti.GetTotal()-money元endl; Sti.flag=0; MainMenu(); else cout该同学交费成功,且找零钱为money-Sti.GetTot

19、al()元endl; Sti.flag=1; MainMenu(); break; if(!flag1) system(cls); cout该学生的姓名输入错误,请重新使用该功能!endl; NameFee(); void StuMan:CheckMenu() / 学生查询菜单 system(cls); int choice; cout endl; cout endl; cout 水电煤气管理系统 endl; cout endl; cout endl; cout 学 生 查 询 菜 单endl; cout 1.按照学号查询endl; cout 2.按照姓名查询endl; cout 3.返回主菜

20、单endl; cout 4.退出系统endl; while(1) cout请选择:choice; switch(choice) case 1:NumCheck(); break; case 2:NameCheck(); break; case 3:system(cls); MainMenu(); break; default:exit(1); if(choice=3) break; void StuMan:NumCheck() / 输入学号查询 string number; int flag1=0,i,item; cout欢迎使用查询功能endl; coutnumber; for(i=0;in

21、s;i+) if(number=Sti.number) flag1=1; item=i; break; if(flag1) cout学号 姓名用水量 用电量 用煤气量 水费 电费 煤气费 总额 交费否endl; coutStitemendl; else system(cls); cout该学生的学号输入错误,请重新使用该功能!endl; NumCheck(); void StuMan:NameCheck() / 输入姓名查询 string name; int flag1=0,i,item; cout欢迎使用查询功能endl; coutname; for(i=0;ins;i+) if(name=

22、Sti.name) flag1=1; item=i; break; if(flag1) cout学号姓名 用水量用电量 用煤气量 水费电费 煤气费 总额 交费否endl; coutStitemendl; else system(cls); cout该学生的学号输入错误,请重新使用该功能!endl; NameCheck(); void StuMan:DeleteMenu() / 学生删除菜单 system(cls); int choice; cout endl; cout endl; cout 水电煤气管理系统 endl; cout endl; cout endl; cout 学 生 删 除 菜

23、 单endl; cout 1.按照学号删除endl; cout 2.按照姓名删除endl; cout 3.返回主菜单endl; cout 4.退出系统endl; while(1) coutchoice; switch(choice) case 1:NumDelete(); break; case 2:NameDelete(); break; case 3:system(cls); MainMenu(); break; default:exit(1); if(choice=3) break; void StuMan:NumDelete() / 输入学号删除 string number; int

24、item=1,i,j; cout欢迎使用删除功能endl; coutnumber; for(i=0;ins;i+) if(number=Sti.number) item=0; j=i; break; if(!item) for(j=i;jns-1;j+) Stj=Stj+1; cout该学生的信息已被删除!endl; if(item) system(cls); cout该学生的学号输入错误,请重新使用该功能!endl; NumDelete(); void StuMan:NameDelete() / 输入姓名删除 string name; int item=1,i,j; cout欢迎使用删除功能endl; coutname; for(i=0;ins;i+) if(name=Sti.name) item=0; j=i;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1