C++:水费管理系统

合集下载

用户使用手册IC卡水表售水管理系统

用户使用手册IC卡水表售水管理系统

IC卡水表售水管理系统用户手册(版本号V1.0)宁波龙康智能仪表有限公司2005年2月欢迎惠顾及垂询:宁波龙康智能仪表有限公司(100086)北京市海淀区紫竹院路89号紫竹花园A座501室Tel: (+86-10)68436080Fax: (+86-10)68436080目录1、系统组成2、系统运行环境3、必需设备4、用户操作流程简介5、卡片定义说明6、IC卡预付费管理系统的安装7、IC卡预付费管理系统操作说明7.1 启动系统软件7.2 系统登陆界面7.3 系统工作流程7.4 用户管理7.4.1 开户7.4.2 充值7.4.3 退购7.4.4 补卡7.4.5 换表7.4.6用户档案变更7.4.7 销户7.5 设备和水价管理7.5.1水价管理7.5.2 水表管理7.6 查询和统计7.7 系统维护7.7.1 系统参数维护7.7.2 设置单据格式7.7.3 操作员维护7.8 数据的备份和恢复7.9 辅助操作7.9.1读检查卡7.9.2 制作密钥管理卡7.9.3 恢复初始口令IC卡预付费管理系统用户使用1、系统组成:IC卡预付费管理发行系统:安装文件,需要用户安装后才能使用,用来完成对水表的用户管理、设备水价管理、查询、统计和系统维护等所有功能。

以下简称“MIS管理系统”。

2、系统运行环境硬件环境:至少带有一个串口的PC计算机一台;软件环境:WIN98系统、WINDOWS XP系统或WINDOWS 2000系统。

3、必需设备3.1 由本公司提供的通用读写器一台,CPU卡一张,4442卡若干张;3.2 带有系统所需软件的光盘1张。

4、用户操作流程简介4.1 安装前准备好一张CPU管理卡,同时记下注册码。

4.2安装“IC卡预付费管理发行系统”。

安装同时把上一步准备好的CPU管理卡放在前卡座,输入系统管理员密码,完成安装过程。

4.3把CPU管理卡插入后卡座,同时运行“MIS管理系统”,完成相应的功能。

5、卡片定义说明5.1 恢复密钥卡:使水表由运行状态转为生产状态,可供生产厂家进行水表的维护。

自来水收费管理系统

自来水收费管理系统

自来水收费管理系统简介自来水是人们生活不可或缺的重要资源,如何提高自来水的收费管理效率,防止水费漏收和违规用水问题一直是一个重要问题。

自来水收费管理系统是一种基于现代计算机网络技术的管理和控制方法,通过将计算机技术和自来水管理相结合,实现对自来水的收费管理。

这一系统将自来水的收费、仪表管理、用户资料、违规用水等信息进行集成、统一管理,做到信息化管理,优化财务核算,提高管理效率。

功能模块自来水收费管理系统主要分为以下功能模块:用户管理模块用户管理模块是管理收费系统中最基本的部分,主要负责用户管理和用户数据维护。

用户管理模块包括如下的功能:•用户注册:将新的用户信息加入系统中,并记录相关信息•用户资料维护:对用户资料进行修改或删除,包括姓名、地址、电话、电子邮箱、户型等信息。

•用户费用查询:查看用户的费用信息,包括该月的水费、费用支付记录等。

•统计报表:提供关于用户信息和费用的统计数据,方便管理者查看其业务情况用户供水模块用户供水模块主要负责水量计量和计费。

用户供水模块包括如下的功能:•水量计量:自来水公司向用户提供的供水量通过智能化水表进行计量。

•用水费用统计:自动计算每户用水费用,自动更新用户资料,方便管理公司提供精准计费•收费提醒:自助服务提醒用户已经到期的费用情况,节约公司管理人力。

违规用水模块违规用水模块主要负责对使用违规水源进行监测和管理。

违规用水模块包括如下的功能:•对违规用户进行制裁:对使用不合规水源的用户进行罚款,以达到对用户的管理和对于违规行为的处罚。

•报警机制:当本地内部水管或外部供水管道发生非正常情况时,系统会立即发出警报,提醒本地相关工作人员进行维修。

•管理报表:统计并汇总违规用户的信息,方便公司进行数据分析和管理。

财务管理模块财务管理模块主要负责财务核算和报表管理。

财务管理模块包括如下的功能:•费用账单管理:对于客户的费用账单进行管理,包括账单查询、传递账单、计算账单、监督费用缴纳等•费用结算与支出管理:进行接收费用、记录费用,审批及负债管理,对财务数据进行分析与计算•财务统计与报表管理:对财务数据进行统计汇总,生成相关财务报表总结自来水收费管理系统,是一个将计算机技术与自来水管理结合的收费管理系统,不但能够高效、精准、准确地统计用户的水费,还能够监督有效地对违规用户进行制裁,达到了妥善管理自来水资源的目的,优化了财务核算效率和管理效率,对于管理人员的工作质量和工作效率都有很大的帮助。

水费收费管理系统

水费收费管理系统

课程设计任务书一、课题简介水费收费管理系统是水资源管理机构管理水资源用户及水费缴纳情况的不可缺少的一个管理信息系统,它的内容对于水资源管理机构的管理者来说至关重要,因此,水费收费管理已经能够为每一个水资源管理机构的管理者提供充足的信息和快捷的查询手段,方便水资源管理机构的管理者进行合理的管理。

总之,开发这样一套管理软件对于信息管理与信息系统专业的学生来说,是一次将计算机应用于实现管理的一次很有意义的实践,有利于加深我们对管理信息开发过程的认识。

二、课程设计的任务1.查阅相关的文献资料,了解管理信息系统的开发背景。

2.使学生进一步巩固课堂学习内容,进一步了解系统的构成及技术特点,掌握管理信息系统建设的基本理论和基本技能,提高学生的系统分析、系统设计以及规划能力。

3.完成管理信息系统的软件开发以及相应的测试工作。

三、课程设计实现的功能分析、设计和完成水费收费管理信息系统的整体规划。

具体实现以下功能1.用户基本信息的录入:包括用户的单位、部门、姓名、联系电话、住址2.用户水费数据的录入(每个月的数据的录入)3.用水价格的管理4.抄表处理的管理5.查询、统计6.银行代扣代收系统模块前言管理信息系统(Management Information System,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。

它是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。

目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。

浅谈自来水营业收费管理系统

浅谈自来水营业收费管理系统

浅谈自来水营业收费管理系统营业收费管理信息系统就是自来水公司同信息技术进行紧密融合的产物,极大地提升了公司的管理水平,促使自来水公司能够有效适应不断扩大的城市规模和人们对供水系统越来越高的要求,为提升企业的综合竞争力做出了重要贡献。

1 自来水营业收费管理系统发展现状近年来,计算机网络通信技术以日新月异的速度飞快发展,社会生产以及人们日常生活中的各个领域都开始广泛应用信息技术,不仅极大地提升了社会生产的效率,同时也有效地提升了人们的生活质量。

对我国的自来水营业收费管理系统的发展现状进行了如下调查:第一,目前,我国部分乡镇地区的自来水公司在运行的过程中,营业收费工作仍然以手工模式为主,即开票、抄表以及收费等整个流程中都是以手工的方式为主的。

从现代管理模式以及社会发展的要求来看,这种营业收费的方式呈现出了严重落后的特点,相关部门必须立即进行淘汰处理,才能够实现可持续发展,同时为人们提供更加优质的服务;第二,部分自来水公司在运行的过程中,在收费方面已经开始使用计算机,但是从本质上来看,自来水公司只不过是改变了开票的方式而已,即通过电脑进行开票,并没有从根本上实现信息化营业收费管理。

这是因为自来水公司在对信息技术进行应用的过程中,仍然停留在初级阶段,系统功能呈现出单一化的特点,无法对自来水公司的营业收费、业务等管理工作进行全面分析,更无法从实际出发,对信息系统功能以及企业的服务职能进行完善;第三,目前,我国部分自来水公司在运行的过程中对单机版软件进行了应用,这些软件是建立在Windows系统和DOS系统基础之上的,因此所构成的数据库平台规模较小。

整个平台在运行的过程中,不仅无法对数据的安全性、全面性以及可靠性给予保障,同时在资源共享方面也存在限制,其运行中无法同邮局以及银行等网络建立紧密的联系,因此实时缴费无法实现,从长远的角度来看,这一系统同自来水公司不断增加的业务需求完全不符。

2 自来水营业收费管理系统发展特点近年来,我国在积极进行现代化城市建设的过程中,一定程度上扩大了城市的供水规模,居民日常生活中对供水质量也提出了更高的要求。

水费管理系统

水费管理系统

系统介绍《水费管理系统》是针对各自来水公司及水管所等部门进行水费征收管理的一套系统。

系统界面简洁,菜单功能一目了然,集基础信息设置、抄表、收费、票据打印、数据查询和统计分析于一体,具体包含了水费管理部门对用水户的资料管理、抄表员及收费员的日常工作管理以及收费情况统计查询和各种对比分析图形等,有助于各水管部门获取决策信息,提高工作效率,提升服务质量。

科学的管理方法会给您带来无限的效益,该水费管理软件将是您明智的选择。

5.0版本界面更美观;增加了水表的初始起码功能;增加了按收费员统计当日收费情况表;调整交费时只能交最后月份的水费情况,以前月份不能再补交,因为以前月份的水费系统自动结转到下一月份。

《水费管理系统》包括如下功能模块:一、输入功能:该系统提供了对水价类别设置、水表基本信息、抄表录入、收费录入等的模式录入和表格界面录入。

录入信息时可能会出现相同的信息,为避免重复录入部分字段设置了辅助录入功能,您只需输入几项即可完成录入功能。

操作方便快捷,可大大提高您的工作效率。

二、查询功能:您只需用鼠标点击一下相应节点,就可迅速查询统计收费的情况,根据不同的查询统计条件显示出需要的结果。

三、报表功能:根据查询或者统计出来的结果生成报表。

四:打印功能:系统支持打印功能,如想打印信息单击预览报表上的打印按钮即可。

五、安全功能:进入系统后,单击菜单“系统→工具→用户及权限”可以设置系统的各用户权限。

六、数据备份与恢复功能: 公司首页 公司概况 软件下载定制开发进入社区 返回主目返回主目录录可备份在硬盘或其他可移动磁盘中,并可对备份的数据进行多项操作。

七、数据交换功能:有三种方式可以实现数据的交换:一是“信息交换”功能,可以任意导入、导出信息;二是“转换Access数据库”,可以将Access数据库(*.mdb文件)转换为基于本平台的信息库(*.dbi),该操作产生一个新的dbi文件,不会对原Access数据库进行任何更改;三是“与Excel文件交换数据”,该功能可以将基于本平台的信息库(*.dbi)转换为Excel文件,也可以将Excel文件转换为基于本平台的信息库(*.dbi)八、适应性:适应在WINDOWS98/ME/2000/XP系统上运行。

简易水电费管理系统源程序代码

简易水电费管理系统源程序代码

简易水电费管理系统源程序代码法一:#include<stdio.h>#include<string.h>#include<stdlib.h>struct member{char no[100];char name[20];char password[20];float wfee;float efee;}memb;void newadd(int n){ int t,i;fseek(fp,0,SEEK_END);printf(">>新添人数:");scanf("%d",&t);for(i=0;i<t;i++){ printf("新添第%d个成员:");scanf("%s %s %s %f %f",memb.no,,memb.password,memb.wfee,memb.efee); fwrite(&memb,sizeof(struct member),1,fp);}}void look(int n){ char a[100];printf(">>输入卡号:");scanf("%s",a);int i=0;rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)||memb.no==a) break;i++;}if(!feof(fp)){ printf(">>卡号:");printf("%s\n",memb.no);printf(">>姓名:");printf("%s\n",");printf(">>水费:");printf("%f\n",memb.wfee);printf(">>电费:");printf("%f\n",memb.efee);}elseprintf(">>查无此人\n");};void delete(int n){ char c[100];printf(">>删除的卡号:");scanf("%s," c);if((fp1=fopen("temp.bin","wb"))==NULL){printf(">>不能建立临时文件,无法删除\n");}rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)) break;if(memb.no!=c)fwrite(&memb,sizeof(struct member),1,fp1);}fclose(fp1);fclose(fp);remove("member.bin");rename("temp.bin","member.bin");fp=fopen("member.bin","rb++");};main(){ char a[100]; char b[20];FILE *fp;printf("欢迎进入水电费管理系统\n")int i=0,sel=1;if((fp=fopen("member.bin","wb++"))==NULL){ printf(">>不能建立member.bin文件\n");return(0);}while(sel!=0){ printf("| 1 | 2 | 3 | 4 |\n"); printf("| ------------------------------------------------------------ |\n"); printf("|新添成员|查找个人信息|删除成员|退出|\n); fseek(fp,0,SEEK_END);scanf("%d",&sel);switch(sel){ case 1:newadd(sel); break;clscr(); exit(0);case 2:printf("请输入您的卡号:");printf("%s",a);printf("请输入您的密码:");puts(b);while(strcmp(a,memb.no)==0&&strcmp(b,memb.password)==0)look(sel);printf("您的输入有误\n"); break;clscr();exit(0);case 3:delete(sel); break;clscr();exit(0);}法二:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<windows.h>#include<conio.h>struct member{char no[100];char name[20];char password[20];float wfee;float efee;}memb;void newadd(int n){ int t,i;FILE *fp;fp=fopen("e:\\member.bin","a");fseek(fp,0,SEEK_END);printf(">>新添人数:");scanf("%d",&t);for(i=0;i<t;i++){ printf("新添第%d个成员:",i+1);scanf("%s %s %s %f %f",memb.no,,memb.password,&memb.wfee,&memb.efee); fwrite(&memb,sizeof(struct member),1,fp);}fclose(fp);}void look(int n){ char a[100],b[20]; FILE *fp;int i;fp=fopen("e:\\member.bin","rb");if(fp==NULL) printf("****");printf(">>输入卡号:");scanf("%s",a);i=0;rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)||strcmp(memb.no,a)==0) break;i++;}if(!feof(fp)){ printf(">>卡号:");printf("%s\n",memb.no);printf(">>姓名:");printf("%s\n",);printf(">>水费:");printf("%f\n",memb.wfee);printf(">>电费:");printf("%f\n",memb.efee);}elseprintf(">>查无此人\n");getch();fclose(fp);}void dele(int n){ char c[100];FILE *fp,*fp1;fp=fopen("e:\\member.bin","rb");printf(">>删除的卡号:");scanf("%s" ,c);if((fp1=fopen("temp.bin","wb"))==NULL){printf(">>不能建立临时文件,无法删除\n");}rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)) break;if(strcmp(memb.no,c)!=0)fwrite(&memb,sizeof(struct member),1,fp1);} fclose(fp1);fclose(fp);remove("member.bin");rename("temp.bin","member.bin");fp=fopen("member.bin","rb+");}main(){ char a[100]; char b[20];int i=0,sel=1;FILE *fp;printf("欢迎进入水电费管理系统\n");if((fp=fopen("e:\\member.bin","wb"))==NULL){ printf(">>不能建立member.bin文件\n");return(0);}while(sel!=0){ printf("| 1 | 2 | 3 | 4 |\n"); printf("| ------------------------------------------------------------ |\n"); printf("|新添成员|查找个人信息|删除成员|退出|\n"); fseek(fp,0,SEEK_END);scanf("%d",&sel);printf("sel=%d\n",sel);switch(sel){ case 1:newadd(sel);system("cls"); break;case 2:look(sel);system("cls"); break;case 3:dele(sel);system("cls");break;}}}。

高校水电费管理系统项目介绍

高校水电费管理系统项目介绍

高校水电费管理系统项目介绍1. 项目背景随着高校规模的不断扩大和学生数量的增加,高校的水电费管理面临着越来越大的挑战。

传统的手工录入、统计和管理方式已经无法满足高效、准确和便捷的需求。

为了提高水电费管理的效率和精度,开发一个高校水电费管理系统变得非常必要。

2. 项目目标本项目旨在开发一个全面、灵活且易于使用的高校水电费管理系统,以提高水电费数据录入、统计和查询的效率,减少人力资源投入并降低错误率。

具体目标包括:- 实现学生信息、宿舍信息和水电费信息的录入与管理; - 提供自动生成账单、查询账单和缴费功能; - 支持管理员对系统进行权限管理; - 提供数据统计与分析功能,帮助管理员了解学生宿舍用能情况。

3. 功能需求3.1 学生信息管理•学生信息录入:包括学号、姓名、性别、年级等基本信息。

•学生信息查询:支持按照学号或姓名进行精确查询。

3.2 宿舍信息管理•宿舍信息录入:包括宿舍号、楼栋号、楼层等基本信息。

•宿舍信息查询:支持按照宿舍号、楼栋号或楼层进行精确查询。

•宿舍信息修改:支持对宿舍信息的修改操作。

3.3 水电费信息管理•水电费信息录入:包括学生所在宿舍的水电度数等信息。

•水电费信息查询:支持按照学生学号或宿舍号进行精确查询。

3.4 账单管理•自动生成账单:根据水电费信息自动生成账单,包括应缴费用和截止日期等内容。

•查询账单:支持按照学生学号或姓名进行查询,展示该学生的所有账单情况。

•缴费功能:提供在线缴纳水电费用的功能,并更新账单状态。

3.5 管理员权限管理•管理员账号注册与登录:管理员通过注册账号并登录系统,获得相应的权限。

•权限管理:管理员可以对系统中的各个功能模块进行权限设置,包括数据录入、数据修改、数据查询等。

3.6 数据统计与分析•学生用能情况统计分析:根据水电费信息对学生宿舍用能情况进行统计和分析,生成报表和图表展示。

4. 技术实现本项目将采用以下技术实现: - 前端开发:使用HTML、CSS和JavaScript等技术实现用户界面的设计与交互。

自来水水费管理系统的设计与实现

自来水水费管理系统的设计与实现
{ it i = l ; n
I t fa = 1 n l g ;// 务器 启动标 志 N It h a [】 { , , , , , , , } n c f g8 = 0 0 0 0 0 0 0 0 }/ l / 道线 程 启 动 标 志 通 Wh l ( a ) i f g e l { i i>8 =l f( )i ;
主 要 功 能 的 实现 。
关 键 词 : 费 管 理 系统 实 现 水 费查 询 水
中图 分类 号 : P T 3
文 献 标 识 码 : A来自文 章编 号 : 6 2 7 1 z 1 ) 5a 一 I 9 0 1 7 -3 9 ( o oo ( ) 0 — 1 5
目前 , 国 的 水 资 源 问 题 十 分 严 峻 , 我 从 操 作 系统 : co ot Wid ws X Mir sf no P 长 远 来 看 , 好 水 资 源 的 管 理具 有 重 大 而 搞 编程语 言 : ra d Be ln C++ B i e 0 ul r 5. d 。 深 远 的 意 义 。 城 市 自来 水 事 业 作 为 使 用 2 2系 统登 陆 的权 限实 现 而
工 程 管 理
S IO e NE&TCNLG E EHOOY
自来 水 水 费 管理 系 统 的 设 计 与实 现
李 静 ( 江工业大学 信息学 院 浙 江杭州 3 0 ) 浙 1 1 O 4 摘 要: 本文在 明确 自来水 水 费管理 重要性 的基 础上 , 分析 了水 费管理 系统的体 系结构及 主要功 能模 块 , 并借助 于开 发环境 , 究 了系统 研

合 成 , 通 过 语 音 卡 的 相 应 外 线 电话 通 道 再 播 放 合 成 的 语 音 。 控 线程 的 关 键 代 码 如 主 下所示 :
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++ 课程设计报告题目:水费管理系统——水费基本信息管理、查询、统计、存盘和收费管理学生姓名:学号:专业班级:同组姓名:指导教师:设计时间: 2008年下学期第15~16周指导老师意见:评定成绩: 签名: 日期:1 系统(项目)设计1.1 系统功能模块图通过查阅相关资料和仔细分析,得出系统功能模块图如图1所示。

系统主要由用户信息管理、收费管理、查询与统计、存盘等几个功能模块组成,我负责的是收费管理、查询与统计、存盘功能。

其中收费管理包括用户本月用水量、本月所收水费、收费时间,查询与统计包括用户信息查询与收费查询与统计,存盘包括用户信息和收费信息存盘。

1.2 系统登陆模块系统登陆模块主要完成系统登陆和系统退出功能。

其详细流程图如图2所示。

1、密码输入;2、判断密码的正确与否,即当前用户是否具有进入系统运行的权限;3、主菜单中选择1、2、3、4,分别进入用户基本信息管理、收费管理、查询与统计、存盘操作;4、密码错误或主菜单中选择0,退出程序;1.3 收费管理收费管理模块主要完成对用户进行收费的功能,该模块包含用户本月所收水费、存盘等功能。

其流程图如图3所示。

1.3.1 子菜单2模块1、从子菜单2中选择1、2分别进入本月所收水费、存盘操作;2、选择0,返回主菜单。

1.3.2 本月所收水费模块该模块主要完成对用户本月收取水费的功能,其流程图如图 4所示。

1. 进入子菜单 2中选择 1,进行用户信息的添加;2. 键盘输入要收水费用户的编、名称、收费时间和本月用水量,计算对该用户所收水费;3. 一次用户信息输入完成,系统回到上一级菜单,提示存盘;4. 输入2,进行存盘。

1.3.3 存盘模块该模块主要完成用户收费信息的存盘,详情见流程图5.所示。

1、子菜单2中选择2,进行添加用户信息和所收水费存盘;2、继续输入用户信息或返回上级菜单。

1.4 查询与统计模块查询、统计模块主要完成对用户基本信息的和收费信息的查询和统计的功能,详情见流程图6所示。

1、从主菜单中选择3,进入查询与统计子菜单3;2、从子菜单中选择1、2分别进行用户基本信息查询和收费记录的统计;3、输入要查询用户的名称或编号,系统从consumer文本文档中找到要查询用户的基本信息,屏幕输出信息,返回子菜单3;4、输入要查询用户收费记录的日期,系统从charge文本文档中找到该用户信息及收费记录,在屏幕上输出,返回子菜单3;5、如果没找到该用户信息,返回子菜单3。

2 程序源代码#include <stdio.h>#include <string.h>#include <stdlib.h>#include <fstream.h>#include <iostream.h>#define NULL 0//定义用户基本信息类由组员郭文君完成//定义收费信息类class charge{char * name; //用户名称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 char[strlen(n)+1];strcpy(name,n);kind=new char[strlen(k)+1];strcpy(kind,k);volumn=v;money=m;time=new char[strlen(t)+1];strcpy(time,t);++i;}charge(){name=new char[10];kind=new char[10];volumn=0;money=0;time=new char[10];++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;}void 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<< (ostream & os, charge &ob);friend istream & operator>> (istream & is, charge &ob);};int charge::i=0;//*重载<<运算符函数*ostream & operator << (ostream & os,charge &ob){os<<<<" "<<ob.kind<<" "<<ob.volumn<<" "<<ob.money<<" "<<ob.time<<" ";return os;}//*重载>>运算符函数*istream & operator >> (istream & is,charge &ob){is>>;is>>ob.kind;is>>ob.volumn;is>>ob.money;is>>ob.time;return is;}consumer *head=NULL;//用户信息类链表头初始化charge *link=NULL; //收费标准类链表头void load()//从硬盘读取用户基本信息void save() //将用户信息存入硬盘由组员郭文君完成void Cload() //从硬盘读取收费信息{ifstream fin("charge.txt",ios::in|ios::nocreate);if(!fin){cout<<"不能打开文件"<<endl<<endl;exit(0);}else{int count,x;fin>>count; //读入收费类型数x=1;while(x<=count){charge *temp= new charge;fin>>*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();}void Csave() //将用户收费信息存入硬盘{if(link==NULL) Cload();ofstream fout("charge.txt",ios::out);//存入用户收费记录总条数,以控制读取收费记录时的循环次数fout<<charge::i<<" ";charge *p=link;while(p!=NULL){fout<<*p;p=p->next;}fout.close();link=NULL;cout<<"收费信息保存成功!"<<endl<<endl;}//**用户基本信息管理***由组员郭文君完成void sub2()//子菜单2{int x;while(x){void sub21();cout<<"****水量使用管理****"<<endl;cout<<"********************"<<endl;cout<<"*1>本月所交水费*"<<endl;cout<<"*2>存盘*"<<endl;cout<<"*0>返回主菜单*"<<endl;cout<<"********************"<<endl;cout<<"*请选择:";cin>>x;if(x>=0&&x<=2){switch(x){case 1:sub21();break;case 2:Csave();break;case 0:return;}}elsecout<<"选择有误,请重新选择!"<<endl<<endl;}}void sub21(){char N[20];char L[20];char K[20];float V;char D[20];float P;float sum;cout<<"请输入用户编号:";cin>>L;cout<<"请输入用户类型:";cin>>K;cout<<"请输入收费月份:";cin>>D;cout<<"请输入本月用水量:";cin>>V;if(head == NULL) load();consumer * ptr=head;while(ptr!=NULL){if(strcmp(ptr->getnum(),L)!=0)ptr=ptr->next;else{P=ptr->getprice();strcpy(N,ptr->getname());break;}}charge *temp=new charge(N,K,V,P,D);if(link ==NULL) Cload();if(link==NULL){link=temp;temp->next=NULL;}else{temp->next=link;link=temp;}sum=V*P;cout<<"用户"<<N<<" "<<D<<"的用水量为:"<<V<<"吨。

相关文档
最新文档