高校水电费管理系统课程毕业设计_第1页
高校水电费管理系统课程毕业设计_第2页
高校水电费管理系统课程毕业设计_第3页
高校水电费管理系统课程毕业设计_第4页
高校水电费管理系统课程毕业设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院面向对象程序设计课程设计报告 重庆科技学院面向对象程序设计课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 计科12-5班 学生姓名: 郑鹏 学 号: 2012442081 设计地点(单位)_计算机自主学习中心 _ _设计题目:_ 高校水电费管理系统_ _ 完成日期: 2014 年1月10日 指导教师评语: _ _ _ _ 成绩(五级记分制):_ _ 指导教师(签字):_ _ 重庆科技学院课程设计任务书设计题目:高校水电费管理系统设计学生姓名郑鹏课程名称面向对象课程设计专业班级计科12地 点I313起止时间12月30日1月10日设计内容及要求1)问题描述住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信息。教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。能计算出学生和教工每月所要交的电费和水费。定义一个人员类,实现学生和教工共同的信息和行为。2)功能要求(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。(3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。(6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。(7)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。3)问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。设计参数(1)系统分析、设计正确。(2)结果以图表方式显示。(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:程序测试参考资料1Richard Johnsonbaugh. Martin Kalin.面向对象程序设计C+语言描述.机械工业出版社.2009年2钱能.+语言程序设计教程.清华大学出版社.2005年其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:裴仰军/伍建全/黄永文 2013年12月12日摘 要本设计是用编译器VC+完成的一个高校水电费管理系统,该高校水电费管理系统主要是实现对住宿学生和教职工的信息进行统计和对他们的各项数据进行处理。用户可以根据选择界面进行选择进行不同的工作,有添加、查询、显示、编辑、删除、统计,计算功能。每个功能的实现都用到链表。在每一个功能的实现上,都运用到文件的读取或写入,这样保证了信息的实时更新。关键字:类 键表 水电费管理系统 文件目 录 摘 要3第一章 软件需求分析说明书51.1 软件功能51.2 界面要求51.3 数据结构要求6第二章 系统分析与设计72.1 软件界面设计72.2 软件的数据(结构)设计142.3 软件的算法设计15第三章 软件的实现183.1文件读取183.2文件写入19第四章 软件测试204.1 添加功能测试204.2 查询功能测试204.3 显示功能测试214.4 编辑功能测试214.5 删除功能测试214.6 统计功能测试224.7 计算功能测试22第五章 软件使用说明书23致 谢24参考文献25第一章 软件需求分析说明书1.1 软件功能(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,由于编号的唯一性,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。界面提示按任意键继续,然后选择添加项,也可以放弃退出添加工作。对于添加的时候对输入的数据的要求是string、string、string、int、string、int、int的顺序。(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,界面会给出相应的提示信息。(3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。在显示的时候用户可以选择显示的对象学生或员工。(4)编辑功能:可根据查询结果对相应的学生记录或教工记录进行修改,修改时由于编号的唯一性。修改时需要对一个对象学生或员工的信息重新录入,类似添加过程,注意要修改的项的输入。(5)删除功能:主要实现对已添加的学生或教工记录进行删除,可以通过姓名和学号或教工号进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”界面会有相应的提示并返回操作。(6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费等。(7)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。在计算所要缴纳的电费或水费的时候界面上会提示要输入学校免费提供的水量或电量。然后就会计算得到并在屏幕上显示出需要缴纳的学生或教工的信息和需缴纳的费用。1.2 界面要求主界面上显示所有的功能选择,选择进入每一个功能后,界面上显示该功能选项和退出选项。1.3 数据结构要求 该软件主要借助类实现数据存储,传输,修改并写入文件。stu为基类,student为学生类,stuff为教工类都继承了stu类,person类里面有链表list、list作为成员,以实现学生和教工共同管理。第二章 系统分析与设计2.1 软件界面设计 图2-1 首界面 该主界面的功能主要是提供给用户选择自己所要实现的功能,输入功能前面的序号,则选择成功。如:输入“1”,进入到添加功能。 图2-2 添加功能界面该添加界面主要功能是提供给用户选择所要添加的对象或退出添加功能,如输入“1”,进入到添加学生项,输入“3”,回到主界面及退出添加项。 图2-3学生信息录入界面该学生信息录入界面的主要功能是供给用户一个提示信息,以便添加学生的时候出现信息录入错误。 图2-4 教工信息录入界面该教工信息录入界面的主要功能是供给用户一个提示信息,以便添加教工的时候出现信息录入错误。 图2-5 添加结果反馈界面一 该反馈界面的主要功能是对用户添加完毕后的结果的一种反馈,提示添加失败,添加人员已经存在。图2-6 添加结果反馈界面二 该反馈界面的主要功能是对用户添加完毕后的结果的一种反馈,提示添加成功。图 2 -7 查询功能界面该查询界面主要功能是提供给用户选择所要查询的对象或退出查询功能,如输入“1”,进入到查询学生项,输入“3”,回到主界面及退出添加项。图 2-8查询学生方式选择界面该界面的主要功能是提供给用户一个查询方式选择提示,如输入“1”,进入到姓名查找项,输入“3”,回到查询界面。 图 2-9 姓名查询学生结果信息反馈界面一 该界面的主要功能是将用户查询到学生的结果反馈给用户。如输入的为:xiafusen ,存在名字为xiafusen的学生,所以输入,如果出现同名,将都会输出。图 2-10 姓名查询学生结果信息反馈界面二 该界面的主要功能是将用户查询到学生的结果反馈给用户。如输入为:jjjj,不存在名为jjjj的学生,提示没有。图 2-11 学号查询学生结果信息反馈界面一该界面的主要功能是将用户查询到学生的结果反馈给用户。如输入的学号为:2011442043 ,存在学号为2011442043的学生,所以输入。图 2-12 学号查询学生结果信息反馈界面二 该界面的主要功能是将用户查询到学生的结果反馈给用户。如输入学号为2000,不存在学号为2000的学生,提示没有。图 2-13查询教工方式选择界面该界面的主要功能是提供给用户一个查询方式选择提示,如输入“1”进入到姓名查找项,输入“3”,回到查询界面。图 2-14名字查询教工结果信息反馈界面一 该界面的主要功能是将用户查询到教工的结果反馈给用户。如输入的教工名为:xiafusen ,存在名字为xiafusen的教工,所以输入,如果出现同名,将都会输出。图 2.1-15名字查询教工结果信息反馈界面二 该界面的主要功能是将用户查询到教工的结果反馈给用户。如输入的教工名为:jjjj ,不存在名字为jjjj的教工,提示无。图 2-16教工号查询教工结果信息反馈界面一 该界面的主要功能是将用户查询到教工的结果反馈给用户。如输入的教工号为:2011442043 ,存在学号为2011442043的教工,所以输入。图 2-17教工号查询教工结果信息反馈界面二 该界面的主要功能是将用户查询到教工的结果反馈给用户。如输入教工号为2000,不存在教工号为2000的教工,提示没有。图2-18 编辑功能界面 该界面主要功能是给用户提供选择编辑对象,如输入“1”,进入到编辑学生项,输入“3”,回到主界面。图2-19 提示输入需编辑学生学号界面 该界面主要功能是提示用户输入要编辑的学生的学号,学号具有唯一性。图2-20 编辑结果信息反馈界面 该界面主要功能是给用户返回编辑完成后的提示和编辑教工完成后的提示界面相同。图2-21 提示输入需编辑的教工的教工号界面该界面主要功能是提示用户输入要编辑的教工的教工号,教工号具有唯一性。图2-22 显示功能界面 该添加界面主要功能是提供给用户选择所要显示的对象或退出显示功能,如输入“1”,进入到显示学生项,输入“3”,回到主界面及退出显示功能项。图2-23 学生信息展示界面 该界面的主要功能是把所有的学生的信息,展现给用户。图2-24 教工信息展示界面 该界面的主要功能是把所有的教工的信息,展现给用户。图2-25 删除功能界面 该界面主要功能是给用户提供选择删除对象,如输入“1”,进入到删除学生项,输入“3”,回到主界面及退出删除功能项。图 2-26 删除学生成功提示界面 该界面主要功能就是向用户反馈删除的对象(学生)成功。图 2-27 删除学生不存在提示界面该界面主要功能就是向用户反馈删除对象(学生)不存在,删除失败。需要重新输入。图 2-28 删除教工成功提示界面该界面主要功能就是向用户反馈删除的对象(教工)成功。图2-29 删除教工不存在提示界面该界面主要功能就是向用户反馈删除对象(教工)不存在,删除失败。需要重新输入。图2-30 统计功能界面该界面主要功能是给用户提供选择统计对象,如输入“1”,进入到统计学生项,输入“3”,回到主界面及退出统计功能项。图2-31 统计学生类别选择界面 该界面主要是为用户提供选择统计水费(水量)或电费(电量)。如输入“1”,进入统计水费(水量)统计(水三元一吨)。图 2-32 统计教工类别选择界面该界面主要是为用户提供选择统计水费(水量)或电费(电量)。如输入“2”,进入统计电费(电量)统计(电一元一度)。图2-33 计算功能界面 该界面主要功能是给用户提供选择计算对象,如输入“1”,进入到计算学生项,输入“3”,回到主界面及退出计算功能项。图2-34 选择统计对象界面 该界面主要是为用户提示选择输入要计算的对象,如输入“1”,进入计算水费项(计算学生和计算教工该界面相同)。 图2-35 计算学生结果显示界面 该界面主要是为用户展示出需缴纳水费的学生的某一部分信息。计算电费时界面相同,文字提示有小小变化。这里需要用户自定义最大免费水量(或电量)。图 2-36 计算教工结果显示界面 该界面主要是为用户展示出需缴纳电费的教工的某一部分信息。计算水费时界面相同,文字提示有小小变化。这里需要用户自定义最大免费电量(或水量)。2.2 软件的数据(结构)设计 该软件使用的文件有xia01.txt,和xia02.txt两个,文件xia01.txt是用来存储所有学生信息,xi02.txt是用来存储所有的教工的信息,两个文件里面的存储的数据类型都是一样的,每一行存储一个人(学生或教工)的信息,分别为名字,性别,学号(教工号),年龄,用水量,用电量。数据类型分别为string,string,string,int,string,int,int。2.3 软件的算法设计 主界面,选择功能 1:添加 2:查询 3:编辑 4:显示 5:删除 6:统计 7:计算 8:退出 统计功能,调用函数:void Ji(people& p1)统计功能,调用函数:void Tong(people& p1)删除功能,调用函数:void Delete(people& p1)显示功能,调用函数:void Print(people& p1)编辑功能,调用函数:void xiu(people& p1)查询功能,调用函数:void Serch(people& p1)添加功能,调用函数:void Add(people& p1) 图2-37 总设计流程图 查询功能界面1:查询学生 2:查询教工 3:退出 添加功能页面1:添加学生 2:添加教工 3:退出选择添加学生录入信息失败添加教工录入信息失败12选择211:姓名 2:学号3:退出失败失败失败姓名学号姓名查询成功1:姓名2:教工号3:退出失败教工号查询成功添加成功 图 2-38 添加功能流程图 图2-39 查询功能流程图编辑功能界面1:编辑学生2:编辑教工3:退出 显示 功能界面1:显示学生2:显示教工3:退出12选择显示学生显示教工学生信息教工信息选择12编辑教工编辑学生不存在不存在输入教工号输入学号录入信息录入信息编辑成功 图2-40 编辑功能流程图 图2-41 显示功能流程图 删除功能界面1:删除学生2:删除教工3:退出 统计功能界面1:统计学生2:统计教工3:退出选择选择21211:统计水量 2:统计电量3:退出1:统计水量2:统计电量 3:退出删除教工删除学生 不存在不存在用电情况用水情况用电情况用水情况输入教工号输入学号统计完成统计完成删除成功图2-42 删除功能流程图 图2-43统计功能流程图计算功能界面1:计算学生 2:计算教工 3:退出选择1:计算水费2:计算电费 3:退出1:计算水费2:计算电费 3:退出定义免费水量定义免费电量定义免费水量定义免费电量11122 得到结果得到结果331 图2-45 计算功能流程图第三章 软件的实现对于该软件的实现,最为核心的部分就是关于文件的读取与写入,以下是对该两部分的详细分析:3.1文件读取ifstream fin01(xia01.txt);/读取方式打开存储学生信息的文件xia01.txtifstream fin02(xia02.txt);/读取方式打开存储教工信息的文件xia02.txt string xue;string yuan;list arr1;/定义一个学生类的链表 list arr2;/定义一个教工类的链表people H;/定义一个管理学生和教工的对象while(getline(fin01, xue)/将一个学生的信息读入到一个字符串当中istringstream strin(xue); string s1,s2,s3,s4; int n1,n2,n3; strins1;strins2;strins3;strinn1;strins4;strinn2;strinn3;/分解字符串,得到每一条具体信息 student stu1;/定义一个学生对象 stu1.set_name(s1);stu1.set_sex(s2);stu1.set_studentnumber(s3);stu1.set_age(n1);stu1.set_studentadd(s4);stu1.set_ele(n2);stu1.set_water(n3); stu1.set_elefee(n3*1);stu1.set_waterfee(n2*3);/完成学生对象信息存储 arr1.push_back(stu1); /将一个学生对象整体压入链表/循环结束完成所有学生信息提取H.set_arr1(arr1);/将所有的学生信息存入管理对象中fin01.close();/关闭文件while(getline(fin02, yuan) /将一个学教工的信息读入到一个字符串当中istringstream strin(yuan);string s1,s2,s3,s4;int n1,n2,n3; strins1;strins2;strins3;strinn1;strins4;strinn2;strinn3; /分解字符串,得到每一条具体信息 stuff stu2; /定义一个教工对象 stu2.set_name(s1);stu2.set_sex(s2);stu2.set_stuffnumber(s3);stu2.set_age(n1);stu2.set_stuffadd(s4);stu2.set_ele(n2);stu2.set_water(n3); stu2.set_elefee(n3*1);stu2.set_waterfee(n2*3);/完成教工对象信息存储 arr2.push_back(stu2); /将一个教工对象整体压入链表/循环结束完成所有教工信息提取 H.set_arr2(arr2); /将所有的教工信息存入管理对象中fin02.close();/关闭文件3.2文件写入 ofstream fin01(Xia01.txt);/以写入的方式打开存储学生信息文件xia01.txt list:const_iterator iter; /定义一个指向学生链表的指针 for (iter = ss1.begin(); iter != ss1.end(); +iter)fin01get_name()get_sex() get_studentnumber()get_age() get_studentadd()get_water() get_ele()endl;/将信息存储在链表中的第一个学生开始到最后一个学生,将每一个学生信息写入文件 fin01.close();/关闭文件 ofstream fin02(Xia02.txt);/以写入的方式打开存储教工信息文件xia02.txt list:const_iterator iter1; /定义一个指向教工链表的指针 for (iter1 = ss2.begin(); iter1 != ss2.end(); +iter1)fin01get_name()get_sex() get_stuffnumber()get_age() get_stuffadd()get_water() get_ele()endl;/将信息存储在链表中的第一个教工开始到最后一个教工,将每一个教工信息写入文件 fin02.close();/关闭文件第四章 软件测试本软件能实现的功能有添加,查询,编辑,显示、删除、统计。计算等功能。其核心是几个函数,其测试如下:4.1 添加功能测试用例1:input: 1 output: 请输入添加学生信息用例2:input: 2 output: 请输入添加教工信息用例3:input: 3 output: 返回主界面用例4:input: 2011442043(学号)output: 添加失败,已存在,按任意键继续用例5:input: 2011442044(学号) output: 添加成功,请按任意键继续用例6:input: 2012442043(教工号)output: 添加失败,已存在,按任意键继续用例7:input: 2012442044教工号)output: 添加成功,按任意键继续4.2 查询功能测试用例1:input: 1 output: 请输入查找方式用例2:input: 2 output: 请输入查找方式用例3:input: 3 output: 返回主界面用例4:input: 1 output: 请输入学生姓名用例5:input: 2 output: 请输入学生学号用例6:input: 1 output: 请输入教工姓名用例7:input: 1 output: 请输入教工教工号用例8:input: 3 output: 返回查询对象界面用例9:input: xia output: 显示该名字学生(教工)信息,按任意键继续用例10:input: 2011442043 output: 显示学号为2011442043的学生的所有信息按任意键继续。用例11:input: love output: 没有你查询的这个人,按任意键继续请输入添加学生信息4.3 显示功能测试用例1:input: 1 output: 显示所有学生信息,按任意键继续用例2:input: 2 output: 显示所有教工信息,按任意键继续用例3:input: 3 output: 返回主界面4.4 编辑功能测试用例1:input: 1 output: 显示所有学生信息,提示输入学号用例2:input: 2 output: 显示所有教工信息,提示输入教工号用例3:input: 3 output: 返回主界面用例4:input: 2011442043(学号/教工号)output: 按任意键继续 用例5:input: 一个学生的所有信息 output:编辑成功,按任意键继续用例6:input: 2012442043 output: 按任意键继续用例7:input: 任意键 output: 无该学生记录4.5 删除功能测试用例1:input: 1 output: 显示所有学生信息,提示输入要删除学生学号用例2:input: 2 output: 显示所有教工信息,提示输入要删除教工教工号用例3:input: 3 output: 返回主界面用例4:input: 2012442043 output: 没有你输入的学号的学生,提示重新输入用例5:input: 2011442043 output: 删除成功,按任意键继续用例6:input: 3 output: 返回选择删除对象界面4.6 统计功能测试用例1:input: 1 output:选择统计水量(水费)或电量(电费)用例2:input: 2 output:选择统计水量(水费)或电量(电费)用例3:input: 3 output: 返回主界面用例4:input: 1 output:学生总的用水用电量,任意键继续用例5:input: 2 output:教工总的用水用电量,任意键继续4.7 计算功能测试用例1:input: 1 output:选择计算水费或电费用例2:input: 2 output:选择计算水费或电费用例3:input: 3 output: 返回主界面用例4:input: 15(免费提供的水量) output:计算出需要交纳的水费的学生或教工,输出在屏幕用例5:input: 25(免费提供的电量) output:计算出需要交纳的电费的学生或教工,输出在屏幕第五章 软件使用说明书 该软件主要就是有添加、查询、显示、编辑、删除、统计、计算等功能。每个功能的使用方法以及注意事项如下:(1)添加功能:主页面提示输入“1”选择添加功能,添加功能分为添加学生和添加教工两类,界面上有相应的提示,1:添加学生;2:添加教工。,添加时要求编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加按任意键返回操作。(2)查询功能:主页面提示输入“2”选择查询功能,查询功能分为查询学生和查询教工两类,界面上有相应的提示,1:查询学生;2:查询教工。查询时可根据姓名、用水量或用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息并按任意键返回操作,如果找到,则显示相应的记录信息并按任意键返回操作。(3)编辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论