青岛理工大学 C++面向对象课程设计报告
院(系): 计算机工程学院 专业: 软件工程 学生姓名: 沈芳
班级 软件133 学号: 201307246
题目: 高校水电费管理系统设计_______
起迄日期: _2015.6.29~2015.7.10
设计地点: 计算机学院机房
指 导 教 师: 王成钢 周全强
完成日期: 2015 年7月 10 日
任务书
题目9 “高校水电费管理系统设计” 1、问题描述
住宿学生信息包括:学号、姓名、性别、年龄、班级、用电量、用水量等信息。 教工信息包括职工号、姓名、性别、年龄、工作部门、用电量、用水量等信息。 能计算出学生和教工每月所要交的电费和水费。
定义一个人员类,实现学生和教工共同的信息和行为。
2、功能要求
(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生和教工的记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的学生或教工记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行统计。能统计学生和教工的用水用电量、所要交纳的电费和水费、未交纳水电费的人员信息等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。 (9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;
(8)完成系统总结报告。
课程设计报告内容
一、需求分析
1.选做此课题或项的目的
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。 (3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作。
2.程序所实现的功能
(1)添加功能:程序能够添加职工的记录和工作量,可提供选择界面供用户选择所要添加的类别,要求职工的编号要唯一,如果添加了重复职工号的职工记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据职工号、姓名等信息对已添加的职工记录进行查询。还可以按职工号对工作量进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有职工记录和工作量统计信息,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 (5)删除功能:主要实现对已添加的人员记录进行删除和工作量进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能:对职工可按工作量进行统计,并排名次。
(7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
(9)计算电费和水费。学生每月都有一定额度的水电是免费使用的,超过的部分需要交费。
二、内容设计
1.根据所选题目,给出模块图
高校水电费管理系统main()函数界面教师界面学生界面返回上层系统添加教师信息查询教师信息修改教师信息 删除教师信息显示教师信息读取教师信息统计教师信息返回上层系统添加学生信息查询学生信息修改学生信息 删除学生信息显示学生信息读取学生信息统计学生信息main()Add()Search()Delete()Compile()Show()Read()main()Add()Search()Delete()Show()Read()Total()Total()Compile()teacherMenu()函数studentMenu()函数 图2.1 高校水电费管理系统模块图
2.画出主程序及其主要模块的流程图
开始主菜单输入choice的值choice=0?YESNOchoice=1?退出系统YESNOchoice=2?teacherMenu()函数YESNOstudentMenu()函数不存在此选项!请重选! 图2.2 main()函数
主程序amount>=100?NO输入信息YES输出\用户已满!\编号是否存在?NO将信息存入文件YES输出\用户已存在!\
结束结束 图2.3 添加函数