高校水电费管理系统设计(C++面向对象课程设计报告)Word文件下载.docx
《高校水电费管理系统设计(C++面向对象课程设计报告)Word文件下载.docx》由会员分享,可在线阅读,更多相关《高校水电费管理系统设计(C++面向对象课程设计报告)Word文件下载.docx(46页珍藏版)》请在冰豆网上搜索。
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.程序所实现的功能
程序能够添加职工的记录和工作量,可提供选择界面供用户选择所要添加的类别,要求职工的编号要唯一,如果添加了重复职工号的职工记录时,则提示数据添加重复并取消添加。
可根据职工号、姓名等信息对已添加的职工记录进行查询。
还可以按职工号对工作量进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
可显示当前系统中所有职工记录和工作量统计信息,每条记录占据一行。
主要实现对已添加的人员记录进行删除和工作量进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;
否则,输入要删除的人员的编号,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
对职工可按工作量进行统计,并排名次。
可将当前系统中各类人员记录存入文件中,存入方式任意。
可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。
□上
□上上上
studentMenu()上上
Total()
Show()
Compile()
Add()
Read()
Delete()
Search()
main上上
上上上上上上
二、内容设计
1.根据所选题目,给出模块图
□上上上上上上上上
main上上上上
teacherMenu()上上
图2.1 高校水电费管理系统模块图
□上上
2.画出主程序及其主要模块的流程图
□上choice上上
choice=0?
NO
YES
choice=1?
choice=2?
□上上上上上上上上上上
图2.2 main()函数
amount>
=100?
□上"
上上上上上"
□上上上上上上
上上上上上上"
choice=1上
choice=2上
choice=3上
choice=4上
choice=5上
choice=6上
choice=7上
choice=0上NO
□上“上上上上
□上上上上上上”
图2.3 添加函数
YES
Add()上上
Search()上上
Compile()上上
Delete()上上
Show()上上
YES
Read()上上
Total()上上
main()上上
i<
amount?
□上上上上
i++
i=0
图2.4 菜单函数
amount=0?
上上上上上上上上上上"
□上chioce上上
chioce=1?
chioce=2?
chioce=3?
□上上上上上上上
□上上上上上
图2.5 查找函数
上上上上上上上上上上"
上上上上上
上上上上上上上上上上"
图2.6 修改函数
YES
图2.7 显示函数
YES 上上"
上上上上
上上上上上上"
□上chioce上上
上上上上"
□上上上上
上上
□上上上上"
上上上上上上"
上上上上上"
上上上上上上上上"
图2.8 删除函数
3.编写程序关键代码
void Add()//添加信息
{
Students;
cout<
<
"
输入新添人员信息"
endl;
s.Input();
for(inti=0;
amount;
i++)if(s.num==stu[i].num)
该编号的用户已存在!
return;
}
stu[amount]=s;
添加成功!
ofstreamout_file("
学生.txt"
ios:
:
app);
//将添加记录更新到文件if(!
out_file)
打开失败!
out_file<
stu[amount].num<
"
stu[amount].name<
stu[amount].sex<
stu[amount].old<
"
stu[amount].classrome<
stu[amount].water<
stu[amount].watermoney<
stu[amount].power<
stu[amount].powermoney<
stu[amount].flag<
out