您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 电煤气管理系统设计说明书
*******************实践教学*******************兰州理工大学计算机与通信学院2011年秋季学期面向对象课程设计题目:电煤气管理系统专业班级:计算机科学与技术四班姓名:霍雪萍学号:10240442指导教师:朱红蕾成绩:____________________2目录序言·······················································································3摘要·······················································································4第一章需求分析·················································错误!未定义书签。第二章设计······················································错误!未定义书签。2.1设计思想·······················································错误!未定义书签。2.2设计表示······················································错误!未定义书签。2.3实现注释··············································································82.4详细设计表示········································································8第三章用户手册·········································································9第四章调试及测试············································错误!未定义书签。第五章附录——源程序····························································13参考文献··················································································34设计小结··················································································35致谢·····················································································363序言近年来,在计算机软件业,面向对象程序设计的思想已经被越来越多的软件设计人员所接受。不仅因为它是一种最先进的,新颖的计算机程序设计思想,最主要的是这种新的思想更接近人的思维活动,人们利用这种思想进行程序设计时,可以很大程度地提高编程能力,减少软件维护的开销。面向对象程序设计方法是通过增加软件的可扩充性和可重用性来提高程序员的编程能力。随着计算机在我国广泛而深入的应用,在分析和开发计算机系统软件和应用软件的过程中,迫切需要掌握各种数据结构的描述方法以及相应的处理算法。因此面向对象程序设计知识是计算机相关科学的学生和从事计算机应用的技术人员必备的专业基础知识。著名的瑞士计算机科学家沃思提出:对象+消息=程序。4摘要电煤气管理系统程序的设计与实现,该程序具有登记费用,查询费用及住户信息管理等功能。在课程设计中,程序设计语言采用VisualC++,程序运行平台为WindowsXP。对于在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。程序通过调试运行,实现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。关键词电煤气管理系统;程序设计;C++5第一章需求分析本程序是一个水电气管理信息系统,能够对高校的水电气费用进行理,包括了成员基本信息,如学号、编号、姓名、成员水电气的用量;程序的用途包括缴纳水电气费、查询一个同学水电气费用量、查看所有同学的缴费情况、增加学生信息、删除学生信息、退出系统等。在设计时也考虑到学生和教师在用水电气时的不同,学生可以免费使用一定额度的水电气,超过这个额度的以后必须付费,且付费部分水电气费的价格要高于教工的收费标准,该措施的实行是为了鼓励同学们节约用水,以免造成不必要的资源浪费。该软件主要是为了学校的管理人员提供便捷,以更快的完成水电气费用的收缴。该软件本着简洁明了,实用稳定与与一体。6第二章设计1.设计思想:设计面向对象的程序设计语言,首先考虑的肯定是要设计类。程序设计了四个类,两个是学生类,两个是教师类。在主函数中用动态数组,机动的分配类存,以至于不造成类存的浪费。在本程序中涉及用户的选择,用户要根据自己的实际需要选择不同的功能,由于选择的多样性,程序中必须要有switch结构控制各个功能的选择,如果需要多次进行操作,则要在switch结构的外部,通过循环来实现。首先该程序的第一目的是要读记事本里的内容,然后再根据用户的选项来实现各种不同的功能,当正确按照要求就可进行更进一步进行操作,直到你达到自己的目的为止。与while结构有着相似功能的if…else在本程序中的使用也是非常普遍的。本程序通过调用不同的函数来实现不同的功能,通过用户自己的选择可以自己进行操作,在主函数中申明的函数分别起到不同的作用,为了使主函数不过于冗繁,故在本程序中所有的子函数都是在主函数外实现的。在子函数的函数体中为了使程序的功能和细节更加的完善,在子函数中设置菜单,这样不仅使得程序更加完善还有利于用户的操作。使得程序更加简洁明了。2.设计表示:在这个电煤气管理系统中,共用到了四个类,一个是Feebz类,它起的作用是把水电煤气的用量和每个人的缴费信息结合在一起,还有的重载,最重要的就是那些对象都有共同的属性,通过这个类把学号、姓名、水用量、电用量、气用量集中到一起,所以才能设计一个类;另一个类就是StuMan类,这个类的作用主要就是一些功能的实现,有主菜单voidMainMenu()、交费菜单voidFeeMenu()、交费功能voidNumFee()和voidNameFee()、查询菜单voidCheckMenu()、查询功能voidNumCheck()voidNameCheck()、增加功能voidAdd()、删除菜单voidDeleteMenu()、删除功能voidNumDelete()和voidNameDelete()、查看功能voidChakan()。具体的见下的图标所表示的关系:类函数或数据类型功能Feebz和StuMan函数成员MainMenu()void主要是选择各种不同的功能7FeeMenu()void主要是选择用学号交费还是用姓名交费NumFeevoid使用学号交费NameFee()void输入姓名交费CheckMenu()void主要是选择用学号查询还是用姓名查询NumCheck()void输入学号查询Add()void使用增加功能NumDelete()void输入学号删除NameDelete()void输入姓名删除8数据成员stringnumber,name;intflag;doublewater,power,gas;doubleWaterprice,Powerprice,Gasprice;3.实现注释:在本程序中各项功能的基本都能实现,除了基本的要求能实现之外,如实现对用户信息的录入,实现水电煤气数据的录入,计算并查询用户应缴费用,查询未缴纳费用名单,还能实现对人员的删除和添加。只要能根据要求填写信息,一般都不会出现特别严重的错误。4.详细设计表示:Main()FeeMenu()NumFee()NumCheck()NameCheck()Add()NumDelete()NameDelete()9第三章用户手册程序运行时,首先提示是选择学生电煤气管理系统还是选择教师电煤气管理系统,然后是用户动态分配内存,再会继续出来一个主菜单让用户选择。若选择第一项缴纳水电气费,就会提示用户是用学号交费还是用姓名交费进行选择;若选择第二项查询一个同学的水电气费用量,同样也会提示用户是用学号查询还是用姓名查询进行选择;若选择第三项查看所有同学的缴费情况,则会出现已交费的人员信息和未交费的人员信息;若选择第四项增加人员信息,则会出现“请输入你要增加的学生数”的字样,然后根据提示输入每个人的人员信息;若选择第五项删除人员信息,则会提示用户使用学号删除还是使用姓名删除;最后一项无容置疑就是退出系统了。另外需要提示的是输入信息的格式一定要和记事本上的格式保持一致,否则就会出现错误。10第四章调试及测试电煤气管理系统主要用于管理高校的人员使用的电煤气信息。写该程序的首要目标就是要让它能顺利运行,运行之后再根据运行结果来找出该程序的弊端,以更好的改进这个管理系统。可总是事与愿违,刚一写完时就一下子把我给惊懵了,几十个错误,而且各个错误看上去痘很难改。但我并没有气馁,而是认真的去对待这些错误。首先我是将一些简单而易见的错误给改正了,这并没有花费我多少时间。后面都是一些比较难的错误,如Feebz(stringNum,stringName,doubleWater,doublePower,doubleGas);应该改为Feebz(stringNum=“0904032011”,stringName=“任家双”,doubleWater=0,doublePower=0,doubleGas=0);也就是后面必须得赋值。还有一个令我比较头疼的就是“”的重载,我开始没有用友元函数来写,后来想到了可还是不对,得必须把这个友元函数写在类里面,其正确答案就是:friendostream&operator(ostream&out,Feebz&r){outsetw(6)leftr.number;outsetw(6)leftr.name;outsetw(6)leftr.water;outsetw(6)leftr.power;outsetw(6)leftr.gas;outsetw(6)leftr.GetW();outsetw(6)leftr.GetP();outsetw(6)leftr.GetG();outsetw(6)leftr.GetTotal();if(r.flag)out已交endl;elseout未交endl;returnout;}接下来的另一个问题就是如何读文件里的内容,这对我来说绝对是个头疼的问题,因为当时在上课时我这部分内容学的就不是很好,于是就自己看课本,将书上的第十一章全看了一遍,终于对这个知识点有了一个大概的理解,写出了这段程序,如下:ifstreamtfile(student.txt);while(tfile.good()){tfileSt[i].number;tfileSt[i].name;tfileSt[i].water;tfileSt[i].power;tfileSt[i].gas;i++;11}tfile.close();最后一个难解的问题就是errorC2668:'StuMan::StuMan':ambiguouscalltooverloadedfunction这段提示,然后经过在网上的了解,终于将它给改正过来了。这时我感觉自己越来越接近胜利了,可始终还是有一个错误,而且错
本文标题:电煤气管理系统设计说明书
链接地址:https://www.777doc.com/doc-330516 .html