C++:水费管理系统(共24页).doc
《C++:水费管理系统(共24页).doc》由会员分享,可在线阅读,更多相关《C++:水费管理系统(共24页).doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 C+ 课程设计报告题 目: 水费管理系统水费基本信息管理、查询、统计、存盘 和收费管理 学生姓名: 学 号: 专业班级: 同组姓名: 指导教师: 设计时间: 2008年下学期第1516周 指导老师意见: 评定成绩: 签名: 日期: 1 系统(项目)设计11 系统功能模块图通过查阅相关资料和仔细分析,得出系统功能模块图如图1所示。系统主要由用户信息管理、收费管理、查询与统计、存盘等几个功能模块组成,我负责的是收费管理、查询与统计、存盘功能。 其中收费管理包括用户本月用水量、本月所收水费、收费时间,查询与统计包括用户信息查询与收费查询与统计,存盘包括用户信息和收费信息存
2、盘。图 1 水费管理系统模块水 费 管 理 系 统 时间收费时间本月收水费统计水费查询本月用水量添加删除修改编号时间查询.统计用户信息管理收 费 管 理记 录12 系统登陆模块系统登陆模块主要完成系统登陆和系统退出功能。其详细流程图如图2所示。1、 密码输入;2、 判断密码的正确与否,即当前用户是否具有进入系统运行的权限;3、 主菜单中选择1、2、3、4,分别进入用户基本信息管理、收费管理、查询与统计、存盘操作;4、 密码错误或主菜单中选择0,退出程序; 准 备登 录 系 统输 入 密 码判 断 权 限主 菜 单操 作是否01234子 菜 单 操 作退 出图 2 水费管理系统流程图13 收费管
3、理 收费管理模块主要完成对用户进行收费的功能,该模块包含用户本月所收水费、存盘等功能。其流程图如图3所示。 131 子菜单2模块1、从子菜单2中选择1、2分别进入本月所收水费、存盘操作;2、选择0,返回主菜单。 主菜单操作0退出子菜单22操作选择12进入收费管理操作00图 3 子菜单2流程图132 本月所收水费模块该模块主要完成对用户本月收取水费的功能,其流程图如图 4所示。1. 进入子菜单 2中选择 1,进行用户信息的添加;2. 键盘输入要收水费用户的编、名称、收费时间和本月用水量,计算对该用户所收水费;3. 一次用户信息输入完成,系统回到上一级菜单,提示存盘;4. 输入2,进行存盘。子菜单
4、21添加用户信息键盘输入计算水费图 4 本月所收水费流程图133 存盘模块 该模块主要完成用户收费信息的存盘,详情见流程图 5.所示。1、 子菜单2中选择2,进行添加用户信息和所收水费存盘;2、 继续输入用户信息或返回上级菜单。图 5 存盘操作流程图存 盘计算水费键盘输入1添加用户信息子菜单 214 查询与统计模块 查询、统计模块主要完成对用户基本信息的和收费信息的查询和统计的功能,详情见流程图 6所示。1、 从主菜单中选择3,进入查询与统计子菜单 3;2、 从子菜单中选择1、2分别进行用户基本信息查询和收费记录的统计;3、 输入要查询用户的名称或编号,系统从consumer文本文档中找到要查
5、询用户的基本信息,屏幕输出信息,返回子菜单 3;4、 输入要查询用户收费记录的日期,系统从charge文本文档中找到该用户信息及收费记录,在屏幕上输出,返回子菜单 3;5、 如果没找到该用户信息,返回子菜单 3。主菜单操作退出03子菜单 31. 用户信息查询2. 用户收费记录统计输入查询条件是否找到信息是屏幕输出用户信息或收费记录否0图 6 查询与统计模块流程图2 程序源代码#include #include #include #include #include #define NULL 0/定义用户基本信息类由组员郭文君完成/定义收费信息类class chargechar * name; /
6、用户名称 char * kind; /用户类型float volumn; /本月用水量float money; /本月所收水费char * time; /收费时间public:static int i; /交费次数charge * next;/指向charge类对象的指针charge(char * n,char * k,float v,float m,char * t)name=new charstrlen(n)+1;strcpy(name,n); kind=new charstrlen(k)+1; strcpy(kind,k);volumn=v;money=m;time=new charst
7、rlen(t)+1;strcpy(time,t);+i;charge()name=new char10; kind=new char10;volumn=0;money=0;time=new char10;+i;charge()/析构函数-i;delete kind;delete name;delete time;char *getname()return name;char *getkind()return kind;float getvolumn()return volumn; float getmoney()return money;char *gettime()return time;v
8、oid setname(char *x)/用成员函数修改私有数据成员strcpy(name,x);void setkind(char *y)strcpy(kind,y);void setvolumn(float z)volumn=z; void setmoney(float p)money=p;void settime(char *q)strcpy(time,q); /声明运算符重载函数为charge类的友元函数friend ostream & operator (istream & is, charge &ob);int charge:i=0;/*重载运算符函数 *ostream & ope
9、rator (ostream & os,charge &ob)osob.name ob.kind ob.volumn ob.money ob.time运算符函数 *istream & operator (istream & is,charge &ob)isob.name;isob.kind;isob.volumn;isob.money;isob.time;return is;consumer *head=NULL;/用户信息类链表头初始化charge *link=NULL; /收费标准类链表头void load()/从硬盘读取用户基本信息void save() /将用户信息存入硬盘由组员郭文君
10、完成void Cload() /从硬盘读取收费信息ifstream fin(charge.txt,ios:in|ios:nocreate);if(!fin)cout不能打开文件endlcount; /读入收费类型数x=1;while(x*temp; /读入一个用户收费记录到内存/将用户记录插入内存链表if(link = NULL) /链表为空link = temp;temp-next=NULL;else /将新节点插入到头结点之前temp-next = link;link=temp;x+;charge:i=count;if(link = NULL) charge:i=0;fin.close()
11、;void Csave() /将用户收费信息存入硬盘if(link=NULL) Cload();ofstream fout(charge.txt,ios:out);/存入用户收费记录总条数,以控制读取收费记录时的循环次数foutcharge:i ;charge *p=link;while(p!=NULL)foutnext;fout.close();link=NULL;cout收费信息保存成功!endlendl;/*用户基本信息管理*由组员郭文君完成void sub2()/子菜单2int x;while(x)void sub21(); cout*水量使用管理*endl;cout*endl;cou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 水费 管理 系统 24
限制150内