C++课程设计高校水电管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象技术与C++课程
设计报告
题目:设计高校水电管理系统
班级:120604
学号:120604129
姓名:尤雅欢
2013年9月
课程设计任务书
一、设计目的与要求
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制(继承、派生及多态性)来实现系统功能。
(3)在系统的设计中,要有清晰的界面设计,同时采用文件进行读写操作。
3、创新要求:
在基本要求达到后,可进行创新设计。
二、问题描述及功能要求
设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
完成如下功能:⑴实现对用户信息的录入。⑵实现水电煤气数据的录入。⑶计算并查询用户应缴费用。⑷查询未缴纳费用的名单。
三、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
1、在主函数中通过分支选择实现不同的功能。
2、在菜单函数中,通过设计界面与用户进行交互。
3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、
查询、统计用户信息等功能。
五、各功能模块和流程图
#include
#include
#include
#include
using namespace std;
class User{
private:
int num;//编号
string name;//姓名
string sex;//性别
string status;//身份
double water;//用水量
double power;//用电量
double watermoney;//水费
double powermoney;//电费
static int top; //top表示当前系统中存储的记录个数;public:
User();
void Display();//显示用户信息
void Modify();//修改用户信息
void Delete();//删除用户信息
void Search();//查询用户信息
void Save();//将该记录保存到文件
void Input();//输入函数
int Add();//统计人数
};
User::User(){}
void User::Input()//输入函数
{
cout<<"请输入编号:"< cin>>num; cout<<"请输入姓名:"< cin>>name; cout<<"请输入性别:"< cin>>sex; cout<<" 请输入身份:"< cin>>status; cout<<"请输入用水量:"< cin>>water; cout<<"请输入用电量:"< cin>>power; cout<<"请选择收费方式:"; cout<<"1. 教师收费 2.学生收费"< cout<<"请输入你的选择"< int choice; cin>>choice; switch(choice) { case 1:watermoney=0.5*water; powermoney=0.5*power; break; case 2:watermoney=0.6*(water-10); powermoney=0.6*(power-10); break; default :cout<<"输入错误。"< } } void User::Display()//显示全部信息 { ifstream inData("用户信息.txt"); int num1;//编号 string name1;//姓名 string sex1;//性别 string status1;//身份 double water1;//用水量 double power1;//用电量 double watermoney1;//水费 double powermoney1;//电费 while (inData >>num1>>name1>>sex1>>status1>>water1>>power1>>watermoney1>>po wermoney1) { cout<<" "<<"编号"<<" \t"<<"姓名"<<" "<<"性别"<<" "<<"身份"<<" "<<"用水量"< < cout<<" "<