您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > c++课程设计报告-电煤气管理系统
合肥学院计算机科学与技术系课程设计报告2011~2012学年第二学期课程程序设计语言综合设计课程设计名称电煤气管理系统学生姓名学号专业班级11计本(2)班指导教师项响琴徐静2012年6月(一)需求分析:本程序是一个水电气管理信息系统,能够对高校的水电气费用进行管理,包括了成员基本信息,如学号、编号、姓名、成员水电气的用量;程序的用途包括缴纳水电气费、查询一个同学水电气费用量、查看所有同学的缴费情况、增加学生信息、删除学生信息、退出系统等。在设计时也考虑到学生和教师在用水电气时的不同,学生可以免费使用一定额度的水电气,超过这个额度的以后必须付费,且付费部分水电气费的价格要高于教工的收费标准,该措施的实行是为了鼓励同学们节约用水,以免造成不必要的资源浪费。该软件主要是为了学校的管理人员提供便捷,以更快的完成水电气费用的收缴。该软件本着简洁明了,实用稳定于一体的理念所做。(二)设计:1.设计思想:设计面向对象的程序设计语言,首先考虑的肯定是要设计类。程序设计了一个cpp文件和两个.h文件,cpp文件主要是程序的主界面的输出,两个.h文件分别是Student.h和Teacher.h文件,作为学生和教工两个主体分别做处理。在两个文件中,分别设计了两个类。另外,在本程序中涉及用户的选择,用户要根据自己的实际需要选择不同的功能,由于选择的多样性,程序中必须要有switch-case结构控制各个功能的选择,如果需要多次进行操作,则要在switch结构的外部,通过循环来实现。首先该程序的第一目的是要读文本文档里的内容,然后再根据用户的选项来实现各种不同的功能,当正确按照要求就可进行更进一步进行操作,直到达到自己的目的为止。与while结构有着相似功能的if-else在本程序中的使用也是非常普遍的。本程序通过调用不同的函数来实现不同的功能,通过用户自己的选择可以自己进行操作,在主函数中申明的函数分别起到不同的作用,为了使主函数不过于冗繁,故在本程序中所有的子函数都是在主函数外实现的。在子函数的函数体中为了使程序的功能和细节更加的完善,在子函数中设置菜单,这样不仅使得程序更加完善还有利于用户的操作。使得程序更加简洁明了。2.设计表示:在这个电煤气管理系统中,分为两个.h文件,每个文件两个类,在Teacher.h文件中,一个是教工类,另一个是教工类的计算,作用是对于教工的缴费情况的统计和处理,具体的功能以不同的函数来体现,其中还实现了文件的读入和输出,并能对文本文档进行修改,同时还有运算符重载的应用,其中的功能包括教工的注册,教工信息的增删修改,费用的缴纳与查询,对已操作的对象的保存。在Student.h文件中,一个是学生类,相较于教工类,学生类多了一个学号的查找等操作,另一个是对学生类计算,其中教工与学生的收费标准不同,计算费用所使用的计算式也不一样,具体各类中的函数及作用如下:doubleTGetW()教工水费计算、doubleTGetC()教工电费计算、doubleTGetG()教工煤气费计算、doubleTtotal()计算总的钱、voidregist()注册教工、voidjiaogong()教工主菜单、voidamend()修改教工用户菜单、voidadd()增加教工用户、voiddelet()删除教工用户、voidcheck()查询教工是否交费、voidjiaofei()教工交水电煤气费、voiddisplay()查看教工交费情况、voidsave()教工信息保存、doubleSGetW()计算学生水费、doubleSGetC()计算学生电费、doubleSGetG()计算学生煤气费、doubleStotal()计算学生总费用、voidxuesheng()学生用户主菜单、voidjiaofei()学生交费菜单、voidregist()注册登记学生、voidamend()修改学生用户菜单、voidadd()增加学生用户、voiddelet()删除用户菜单、voidnad()通过姓名删除、voidnumd()通过学号删除、voidcheck()查询学生信息菜单、voidnacheck()学生姓名查询、voidnumcheck()学生学号查询、voidnaj()输入学生姓名交费、voidnumj()输入学号交费、voiddisplay()查看学生交费情况、voidsave()学生信息保存。由于函数繁多,故程序代码显得稍长一点。3.实现注释:在本程序中各项功能的基本都能实现,基本能实现的要求是能实现对用户信息的录入,实现水电煤气数据的录入,计算并查询用户应缴费用,查询未缴纳费用名单,还能实现对人员的删除和添加。另外,在此还在缴费的程序代码中,加入了计算的功能,如若所缴纳的费用不够,系统会提示不够,提示补交,并显示补交多少,这里是超出任务要求的功能,使得更人性化。在运行程序的过程中,只要能根据要求填写信息,一般不会出现严重的错误。(三)用户手册:程序运行时,首先提示是选择学生电煤气管理系统还是选择教师电煤气管理系统,输入代码选择功能后,会继续出来一个主菜单让用户选择。选项包括用户的注册、用户信息的修改(如增加和删除)、费用的查询和缴纳(其中学生还包括是输入姓名查询还是学号查询的选择)、还包括是否缴纳费用的查询、还有对用户信息修改后的保存,其中每一项选项进入后都还有一个子程序,提示用户进行操作,注意的是每次对用户信息的修改后还需要退出后保存,否则磁盘文件里信息没有进行修改。操作程序,只要按照指示操作,程序功能就不会出错。(四)调试及测试:电煤气管理系统主要用于管理高校的人员使用的电煤气信息。写该程序的首要目标就是要让它能顺利运行,运行之后再根据运行结果来找出该程序的弊端,以更好的改进这个管理系统。在程序编写开端,有种无处下手的感觉,后来先看书,在找一些相似的系统代码进行研究,积累一部分经验,再下手编写,但事与愿违,刚写完时一编译有许多错误,于是又投入了枯燥的改错误的任务中,有些还挺好修改,但有些错误总是找不出来,无奈只好问同学,上网搜,才好歹将问题修改完,可是程序并不完美,依然有许多的瑕疵,比如有些任务操作不了,运行界面显示的过于凌乱等问题。所有问题中最令我烦恼的是重载的运用,由于个人能力不是很好,所以刚开始有许多地方不懂,问了同学后,听过解释我才能够运用。虽然过程中遇到许多困难,但是学到了很多,对c++的编程理解的更加深刻了。程序的运行实例如下:进入程序后的主界面如下:选择1,进入教工用户管理系统:因为是第一进入,所以需注册:现在选择不同选项选择功能,输入2选择:输入选择后:此后,退出到教工用户主界面时,还需保存。若选择删除,则如下:若没有该教工,则显示没有,若有,则删除该教工,退出到主界面后,进行其他选项的处理:选择3,进行费用的缴纳:输入4,查询费用:输入5,显示交费情况:输入6,将教工信息保存到磁盘文件中:输入0,返回上一层:选择2进入学生用户管理系统后,操作基本相同,只有选择是用学号处理还是姓名处理:此外,大部分操作都与教工管理系统相同。(五)系统不足及进一步改进:我觉得该系统的不足之处在于有时候进入子程序后,若想返回主程序,需要一步一步退出,不能一次性退出到主界面。还有一个不足就是程序感觉不够简练,有点罗嗦,这需要自己有扎实的基本功,能都用最简短的源程序代码去解决一个相同的问题,在教工和学生的两个文件中,有不少相似之处,可以删减,以达到程序简练的目的,可是我的水平还不足以达到这种程度,所以需要更多的历练和学习。(六)小结:经历这次的课程设计,对自己的学习有很多帮助,在平时的很少有那么多的时间去学习C++,而且不可能有这次这样集中精力来练习编程,这次的课程设计使我有了一个相对比较集中的时间去练习我的编程,特别是我的动手能力有了极大的提高,因为这次的课程设计几乎涉及到了C++语言程序设计的整本书的重要内容,让我从中受益,有了一次巩固知识的机会。同时还让自己平时不怎么注意的问题得到了自己足够的关注,为以后写程序奠定下了坚实的基础,让自己对这门课的课程有了更深刻的认识。这次写完程序后,等到自己能顺利运行时,我觉得自己的任务才刚刚开始,我的目标是在没有我的讲解下,还能够顺利的运行我的程序。因为我觉得自己写程序就是给别人用的,自己运行的再好也没有什么用,只有别人运行的舒服,才能够说明你的程序取得了一定的成功。另外一项感触是,编程时一件严谨的事情,容不得一丝的懈怠和纰漏,往往一个细节就决定了整个程序的成败,在此,我还学到了一些编程的小技巧,受益匪浅,比如写程序时可以写一段代码就编译一次,这样就避免了在所以程序都写完后才编译导致的错误很多并且不好找到错误并修改的弊端。总体来说,这次对自己的程序还是不够满意,因为由于上学期的课程很紧,不能很好的温习老师的课堂内容,但我认为这并不是主要原因,主要原因还是因为自己没有好好的学,虽然每堂课都认真的在听讲,可课后自己很少去上机练习,这就导致虽然懂了很多理论知识,可总是不能熟练的运用到实际(写程序)上来。通过这次课程设计的教训,我并没有到无比的气馁,而是更有信心去迎接以后的学习,因为我今天认识到了自己的最本质的错误。在这,我希望自己在接下来的三年中能好好的学习,争取能学到一些对将来有用的东西,从而不会在社会的残酷竞争下落伍了。当我们对社会的认识加深时,我们的某些观念就会更加有进步意义,更有助于我们立足社会,发展自身。大学的四年中我肯定要具备一定的交际能力,因为交际能力在以后的发展中也起者举足轻重的作用,现在的我可以说交际能力特别的差,连和陌生人说话的勇气都没有,这是极其可悲的。我想通过大学这个大的舞台提高自己的交际的能力。所以我会尽量多参加学校的一些活动,提高自己的综合素养和能力。大学四年毕业后,我希望自己能全面发展,在各方面都有极大的提高,为自己打好专业知识的基础。(七)参考资料[1]郑莉等编著《C++语言程序设计(第三版)》北京:清华大学出版社[2]郑莉等编著《C++语言程序设计(第三版)学生用书》北京:清华大学出版社[3]刘振安等编著《C++程序设计课程设计》机械工业出版社[4]吴乃陵等编著《C++程序设计》北京:高等教育出版社[5]李春葆等编著《C++程序设计学习与上机实验指导》北京:清华大学出版社[6]范辉等编著《VisualC++6.0程序设计简明教程》高等教育出版社[7]李龙澍《C++程序设计实训教程》北京:清华大学出版社[8]洪国胜等编著《C++Builder程序设计轻松上手》北京:清华大学出版社[9]宁正元《数据结构(c语言)》南京:东南大学出版社。2000年6月第1版[10]严蔚敏等《数据结构(c语言版)》北京:清华大学出版社,1997年4月第1版[11]胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年第1版(八)程序代码:电煤气管理系统.cpp#includeteacher.h#includestudent.hvoidmain(){arrayofStustudent(200);arrayofTeacherteacher(200);cout提示:输入选项代号实现相应的功能!endlendl;intchoice;for(;;){cout\t\t欢迎使用高校电煤气管理系统\aendlendl;cout1教工用户管理系统endlendl;cout2学生用户管理系统endlendl;cout0退出系统endlendl;cout********************************************************************************\n;cout请输入你的选择endl;cinchoice;switch(choice){case1:teacher.jiaogong();break;case2:student.xuesheng();break;case0:break;}if(choice==0)break;
本文标题:c++课程设计报告-电煤气管理系统
链接地址:https://www.777doc.com/doc-5146154 .html