水电费管理系统
- 格式:pdf
- 大小:1.62 MB
- 文档页数:41
项目报告——水电气费查询及充值系统谢培伟本系统是是面向学生及管理员而开发的,也就是说,本系统共有两个大端口:学生端、管理端。
学生端:学生端是针对学生生活查询及充值缴费而设计的,内分为原用户登录及新用户注册两块,学生的数据是利用文件操作储存在xstdate.dat文件。
管理端:管理端的设计则方便了管路员对学生账户数据的修改与查询。
程序流程图:本人主要负责学生端的学生登录密码的判断、水电气费的查询及充值,其中变量t是用来读取用户是进入学生端还是管理端,变量xs是判断用户是登录还是注册,用jm=strcmp(xsdbmm,xsdlmm)来判断密码的正确性,变量xstzh是登陆后用来读取用户进哪个服务的。
为了能使用户能返回到上一层,我们后来使用了goto语句,这也给我们带来不必要的麻烦,例如,用户修改了自己的数据后使用goto返回上一层时,系统它不会储存修改后的数据,后来,我们只能在每个goto执行前就用文件操作先储存起来,则加上xstdate=fopen("xstdate.dat","w");/*修改后把学生账号信息写入xstdate.dat*/for(i=0;i<50;i++){fwrite(&xsd[i],sizeof(xsd[i]),1,xstdate);}fclose(xstdate);这样就使程序更加繁琐了。
源代码中的xpw()为{printf("\n");/*系统初始界面*/printf("**************************\n");printf(" **欢迎使用水电气管理系统**\n");printf("**************************\n");printf("\n");}是为了修饰整个执行局面。
代码中的xstczs、xstczd、xstczq分别为水、电、气充值的量,将充值的量加上原先的量再赋值储存,就完成了水电气费的充值。
简易水电费管理系统源程序代码法一:#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;}}}。
数据库表设计—⽔电费缴费系统⽔电缴费管理系统数据表设计SQL建表脚本:1--建表2--管理⼈员表 admin3create table admin(4 admin_id varchar2(3) not null,5 admin_loginname varchar2(8) not null,6 admin_password varchar2(6) not null,7 admin_username varchar2(4) not null,8constraint pk_admin primary key(admin_id)9 );10 comment on column admin.admin_id is'管理员编号';11 comment on column admin.admin_loginname is'管理员登录⽤户名';12 comment on column admin.admin_password is'管理员登录密码';13 comment on column admin.admin_username is'管理员姓名';14--⽤户基本信息表 user15create table users(16user_id varchar2(10) not null,17 user_loginname varchar2(8) not null,18 user_password varchar2(6) not null,19 user_username varchar2(4) not null,20 user_address varchar2(20) not null,21 user_phone number(11) not null,22constraint pk_users primary key(user_id)23 );24 comment on column er_id is'⽤户编号';25 comment on column er_loginname is'⽤户登录名';26 comment on column er_password is'⽤户登录密码';27 comment on column er_username is'⽤户姓名';28 comment on column er_address is'⽤户地址';29 comment on column er_phone is'⽤户电话';30--⽔表 water31create table water(32 water_id varchar2(10) not null,33 userid varchar2(10) not null,34 water_count number(3,2) not null,35 water_time date not null,36 water_status number(1) not null,37 water_priceid varchar2(10) not null,38 water_beforecount number(3,2) not null,39constraint pk_water primary key(water_id)40 );41 comment on column water.water_id is'⽔表编号';42 comment on column erid is'⽤户编号';43 comment on column water.water_count is'⽔表跑数';44 comment on column water.water_time is'⽔表时间';45 comment on column water.water_status is'⽔费缴费状态';46 comment on column water.water_priceid is'⽔费价格编号';47 comment on column water.water_beforecount is'上⽉⽔表跑数'; 48--⽔表 power49create table power(50 power_id varchar2(10) not null,51 userid varchar2(10) not null,52 power_count number(3,2) not null,53 power_time date not null,54 power_status number(1) not null,55 power_priceid varchar2(10) not null,56 power_beforecount number(3,2) not null,57constraint pk_power primary key(power_id)58 );59 comment on column power.power_id is'电表编号';60 comment on column erid is'⽤户编号';61 comment on column power.power_count is'电表跑数';62 comment on column power.power_time is'电表时间';63 comment on column power.power_status is'电费缴费状态';64 comment on column power.power_priceid is'电费价格编号';65 comment on column power.power_beforecount is'上⽉电表跑数'; 66--价格表 money67create table price(68 price_id varchar2(10) not null,69 price_time date not null,70 isactive number(1) not null,71 waterprice number(2,2) not null,72 powerprice number(2,2) not null,73constraint pk_price primary key(price_id)74 );75 comment on column price.price_id is'价格编号';76 comment on column price.price_time is'价格⽇期';77 comment on column price.isactive is'价格状态';78 comment on column price.waterprice is'⽔费价格';79 comment on column price.powerprice is'电费价格';管理员表:⽤户表:⽔费表:电费表:价格表:。
高校水电费管理系统项目介绍1. 项目背景随着高校规模的不断扩大和学生数量的增加,高校的水电费管理面临着越来越大的挑战。
传统的手工录入、统计和管理方式已经无法满足高效、准确和便捷的需求。
为了提高水电费管理的效率和精度,开发一个高校水电费管理系统变得非常必要。
2. 项目目标本项目旨在开发一个全面、灵活且易于使用的高校水电费管理系统,以提高水电费数据录入、统计和查询的效率,减少人力资源投入并降低错误率。
具体目标包括:- 实现学生信息、宿舍信息和水电费信息的录入与管理; - 提供自动生成账单、查询账单和缴费功能; - 支持管理员对系统进行权限管理; - 提供数据统计与分析功能,帮助管理员了解学生宿舍用能情况。
3. 功能需求3.1 学生信息管理•学生信息录入:包括学号、姓名、性别、年级等基本信息。
•学生信息查询:支持按照学号或姓名进行精确查询。
3.2 宿舍信息管理•宿舍信息录入:包括宿舍号、楼栋号、楼层等基本信息。
•宿舍信息查询:支持按照宿舍号、楼栋号或楼层进行精确查询。
•宿舍信息修改:支持对宿舍信息的修改操作。
3.3 水电费信息管理•水电费信息录入:包括学生所在宿舍的水电度数等信息。
•水电费信息查询:支持按照学生学号或宿舍号进行精确查询。
3.4 账单管理•自动生成账单:根据水电费信息自动生成账单,包括应缴费用和截止日期等内容。
•查询账单:支持按照学生学号或姓名进行查询,展示该学生的所有账单情况。
•缴费功能:提供在线缴纳水电费用的功能,并更新账单状态。
3.5 管理员权限管理•管理员账号注册与登录:管理员通过注册账号并登录系统,获得相应的权限。
•权限管理:管理员可以对系统中的各个功能模块进行权限设置,包括数据录入、数据修改、数据查询等。
3.6 数据统计与分析•学生用能情况统计分析:根据水电费信息对学生宿舍用能情况进行统计和分析,生成报表和图表展示。
4. 技术实现本项目将采用以下技术实现: - 前端开发:使用HTML、CSS和JavaScript等技术实现用户界面的设计与交互。
◎李力东水电缴费系统的设计与实现一、概述本文研究目标旨在为收费人员和用户提供一个高效、实用的平台,运用B/S 结构,结合相关技术,从收费工作人员和用户两个角色进行设计,完成以下三个方面的工作:1.简单了解开发平台、相关技术的情况。
2.对水电缴费系统进行需求分析说明,完成系统的功能模块和数据库的设计。
3.实现水电缴费系统的具体功能。
二、开发的前期准备1.J SP 技术。
JSP 全名Java Server Pages,即java 服务器页面,是一种动态网页技术标准。
它是在传统的网页HTML 中插入Java 程序段从而形成JSP 文件,用JSP 开发的Web 应用是跨平台的,既能在Linux 下运行,也能在其他操作系统上运行。
其主要特点有以下几点:a 真正的面向对象的编程。
b 使用该技术Rushmore 优化的应用,能够快速查询到响应时间,并为其提供一个快速的方法。
c 充分利用信息,能够在多平台进行转移使用,并且还能在多个软件中打并使用JAVA 服务器页面的数据。
2.M y SQL 数据库。
MySQL 数据库是基于Linux 操作系统开发出来的数据库,所以MySQL 数据库也是开放源码的免费数据库。
优点如下:a 使用C 和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
b 支持Linux、Mac OS、Windows 等多种操作系统。
c 为多种编程语言提供了API。
d 支持多线程,充分利用CPU 资源。
3.E clipse。
Eclipse 是一个开发辅助工具,内中包含了很多插件集,可以对另外一个开发环境提供支持,也就是Plug-in Develop-ment Environment,简称PDE。
4.需求分析。
a 经济可行性。
经济可行性目的是要确定出开发系统的总成本和总收益,通过对总成本和总收益进行比较,以确定项目是否值得开发,只有当总收益大于总成本时,项目才值得开发。
将本系统产生的收益与支出的成本进行比较,得出的结论是,本系统在经济上是可行的。
i n c l u d e<i o s t r e a m>include<string>include<fstream>include<iomanip>const int TMAX=50;using namespace std;class Person{public:int num;//编号string name;//姓名string sex;//性别int age;//年龄double water;//用水量double power;//用电量public:Personint n=0,string nm=" ",string s=" ",int a=0,double w=0.0,double p=0.0//初始化{num = n;name = nm;sex = s;age = a;water = w;power = p;};virtual void Input{};virtual void Output{};int GetNum{return num;}//获取编号string GetName{return name;}//获取姓名double GetWater{return water;}//获取用水量double GetPower{return power;}//获取用电量};class Teacher:virtual public Person //教师{public:string depart;//工作部门double watermoney;//教师水费double powermoney;//教师电费int choice1;int choice2;public:Teacherint n=0,string nm=" ",string s="男",int a=0,string d="普通教师",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0:Personn,nm,s,a,w,p,departd//构造函数{watermoney=wm;powermoney=pm;};void Input{cout<<"请输入编号:"<<endl;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:";cout<<"1.男 2.女"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switchchoice2{case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误;"<<endl;break;}cout<<"请输入年龄:"<<endl;cin>>age;cout<<"请选择工作部门:"<<endl;cout<<setw10<<"1.普通教师"<<setw10<<"2.教务处"<<setw10<<"3.财政处"<<setw10<<"4.创业办公室"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switchchoice1{case 1:depart="普通教师";break;case 2:depart="教务处";break;case 3:depart="财政处";break;case 4:depart="创业办公室";break;default:cout<<"输入错误;"<<endl;break;}cout<<"请输入本月的用水量"<<endl;cin>>water;cout<<"请输入本月的用电量"<<endl;cin>>power;watermoney=0.5water;powermoney=0.5power;}void Output{cout<<" "<<num<<" "<<name<<" "<<sex<<" "<<age<<" "<<depart<<" "<<water<<setw10<<power<<" "<<setw10<<watermoney<<setw10<<powermoney<<endl;}};class Student:virtual public Person //学生{public:string bj;//学生班级double watermoney;//学生水费double powermoney;//学生电费int choice2;public:Studentint n=0,string nm=" ",string s="男",int a=0,string z=" ",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0:Personn,nm,s,a,w,p,bjz//构造函数{watermoney=wm;powermoney=pm;};void Input{cout<<"请输入学号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:";cout<<"1.男 2.女"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switchchoice2{case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误;"<<endl;break;}cout<<"请输入年龄:"<<endl;cin>>age;cout<<"请选择所在班级:"<<endl;cout<<setw10<<"1.计科1班"<<setw10<<"2.计科2班"<<setw10<<"3.计科3班"<<setw10<<"4.计科4班"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice1;switchchoice1{case 1:bj="计科1班";break;case 2:bj="计科2班";break;case 3:bj="计科3班";break;case 4:bj="计科4班";break;default:cout<<"输入错误;"<<endl;break;}cout<<"请输入本月的用水量"<<endl;cin>>water;cout<<"请输入本月的用电量"<<endl;cin>>power;watermoney=0.5water-10;powermoney=0.5power-10;}void Output{cout<<" "<<num<<" "<<name<<" "<<sex<<" "<<age<<" "<<bj<<setw10<<power<<" "<<setw10<<watermoney<<setw10<<powermoney<<endl;}};class Stu_Manage{Student StuTMAX; //TMAX为常量,为数组中可存储的学生记录的最大数;int top; //top表示当前系统中存储的记录个数;public:Stu_Manage{top=0;} //初始时记录的个数为0,所以设置top=0;void Add; //实现该类记录的添加;void Show; //实现该类所有记录的显示;void Search; //实现该类记录的查询;void Edit; //实现该类记录的修改;void Delete; //实现该类记录的删除;void Total; //实现该类记录的统计;void Save; //将该类记录保存到文件;void Read; //可从文件中将记录读取到该类的数组中;};void Stu_Manage::Add//添加成员{iftop>=TMAX{cout<<"用户已满"<<endl;return;}Student s;cout<<"输入新添加的人员的信息"<<endl;s.Input;forint i=0;i<top;i++if s.GetNum==Stui.GetNum{cout<<"该编号的人员已存在"<<endl;return;}Stutop=s;top=top+1;cout<<"添加成功"<<endl;}void Stu_Manage::Show//显示所有记录{iftop==0{cout<<"无数据"<<endl;return;}cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw10<<"用水量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++Stui.Output;}void Stu_Manage::Search//查询{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int choice;cout<<"请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询"<<endl;cin>>choice;switchchoice{case 1:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++{ifStui.GetName==name{Stui.Output;}}return;cout<<"查无此人"<<endl;}break;case 2:{cout<<"请输入要查找的水量:"<<endl;double water;cin>>water;cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<endl;forint i=0;i<top;i++{ifStui.GetWater==water{Stui.Output;}}return;cout<<"查无此人"<<endl;}break;case 3:{cout<<"请输入要查找的电量:"<<endl;double power;cin>>power;cout<<" "<<"学号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"班级"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++{ifStui.GetPower==power{Stui.Output;}}return;cout<<"查无此人"<<endl;}break;default :cout<<"无此选项请重试"<<endl;break;}}void Stu_Manage::Edit//更改信息{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int num;cout<<"请输入要查找的教编号:"<<endl;cin>>num;forint i=0;i<top;i++{ifStui.GetNum==num{cout<<"请对这位学生的信息进行修改:"<<endl;Stui.Input;}}cout<<"查无此人"<<endl;}void Stu_Manage::Delete//删除信息{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl;int choice;cin>>choice;switchchoice{case 1:{cout<<"请输入编号:";int num;cin>>num;forint i=0;i<top;i++{ifnum==Stui.num{cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++Stuj=Stuj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;} ;break;case 2:{cout<<"请输入姓名:";string name;cin>>name;forint i=0;i<top;i++{ifname=={cout<<"是否确认删除 1、是 2、否 "<<endl;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++Stuj=Stuj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;}; break;default:cout<<"没有此项,失败:"<<endl;break;}}void Stu_Manage::Total//数据统计{cout<<"1 学生所用水电量的总量 2 学生总的水电费 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switchchoice{case 1:{double zwater=0.0, zpower=0.0;forint i=0; i<top; i++{zwater+=Stui.water;zpower+=Stui.power;}cout<<"学生的总用水量为"<<zwater<<endl;cout<<"学生的总用电量为"<<zpower<<endl;}break;case 2:{double zwatermoney=0.0, zpowermoney=0.0;forint i=0; i<top; i++{zpowermoney+=Stui.powermoney;zwatermoney+=Stui.watermoney;}cout<<"教师的总水费为"<<zwatermoney<<endl;cout<<"教师的总电费为"<<zpowermoney<<endl;}break;default:cout<<"输入错误;请重新输入"<<endl;break;}}void Stu_Manage::Save//保存学生信息ofstream out"学生.txt",ios::out;ifout{cout<<"打开失败"<<endl;return;}cout<<"打开成功"<<endl;forint i=0;i<top;i++{out<<Stui.num<<" "<<<<" "<<Stui.sex<<" "<<Stui.age<<" "<<Stui.bj<<" "<<Stui.water<<" "<<Stui.power<<" "<<Stui.watermoney<<" "<<Stui.powermoney<<" "<<endl;}cout<<"写入成功"<<endl;out.close;}void Stu_Manage::Read//读取学生文件{ifstream in"学生.txt",ios::in;ifin{cout<<"打开失败"<<endl;return;}int i=0;whilein>>Stui.num>>>>Stui.sex>>Stui.age>>Stui.bj>>Stui.water>>Stui.power>>Stui.watermoney>>Stui.powermoney{i++;top++;}cout<<"打开成功"<<endl;in.close;}class Tea_Manage{Teacher TeaTMAX; //TMAX为常量,为数组中可存储的教师记录的最大数;int top; //top表示当前系统中存储的记录个数;public:Tea_Manage{top=0;} //初始时记录的个数为0,所以设置top=0;void Show; //实现该类所有记录的显示;void Search; //实现该类记录的查询;void Edit; //实现该类记录的修改;void Delete; //实现该类记录的删除;void Total; //实现该类记录的统计;void Save; //将该类记录保存到文件;void Read; //可从文件中将记录读取到该类的数组中;};void Tea_Manage::Add//添加成员{iftop>=TMAX{cout<<"用户已满"<<endl;return;}Teacher t;cout<<"输入新添加的人员的信息"<<endl;t.Input;forint i=0;i<top;i++if t.GetNum==Teai.GetNum{cout<<"该编号的人员已存在"<<endl;return;}Teatop=t;top=top+1;cout<<"添加成功"<<endl;}void Tea_Manage::Show//显示所有记录{iftop==0{cout<<"无数据"<<endl;return;}cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"部门"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++Teai.Output;}void Tea_Manage::Search//查询{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;int choice;cout<<"请选择查找方式:1.按姓名查询 2.按用水量查询 3.按用电量查询"<<endl;cin>>choice;switchchoice{case 1:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"部门"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++{ifTeai.GetName==name{Teai.Output;}}return;cout<<"查无此人"<<endl;}break;case 2:{cout<<"请输入要查找的水量:"<<endl;double water;cin>>water;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"部门"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++{ifTeai.GetWater==water{Teai.Output;}}return;cout<<"查无此人"<<endl;}break;case 3:{cout<<"请输入要查找的电量:"<<endl;double power;cin>>power;cout<<" "<<"编号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"年龄"<<" "<<"部门"<<setw10<<"用水量"<<setw10<<"用电量"<<setw10<<"水费"<<setw10<<"电费"<<endl;forint i=0;i<top;i++{ifTeai.GetPower==power{Teai.Output;}}return;cout<<"查无此人"<<endl;}break;default :cout<<"无此选项请重试"<<endl;break;}}void Tea_Manage::Edit//更改信息{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}int num;cout<<"请输入要查找的教编号:"<<endl;cin>>num;forint i=0;i<top;i++{ifTeai.GetNum==num{cout<<"请对这位教师的信息进行修改:"<<endl;Teai.Input;cout<<"修改成功"<<endl;return;}}cout<<"查无此人"<<endl;}void Tea_Manage::Delete//删除信息{iftop==0{cout<<"当前系统中没有存储记录"<<endl;return;}cout<<"1、按编号查找删除 2、按姓名查找删除"<<endl;int choice;cin>>choice;switchchoice{case 1:{cout<<"请输入编号:";int num;cin>>num;forint i=0;i<top;i++{ifnum==Teai.num{cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++Teaj=Teaj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;} ;break;case 2:{cout<<"请输入姓名:";string name;cin>>name;forint i=0;i<top;i++{ifname=={cout<<"是否确认删除 1、是 2、否 "<<endl;int choice;cin>>choice;switchchoice{case 1:{forint j=i;j<top-1;j++Teaj=Teaj+1;cout<<"删除成功"<<endl;top--;};break;case 2:return;default:cout<<"无此项,失败"<<endl;break;}return;}}cout<<"无此人"<<endl;}; break;default:cout<<"没有此项,失败:"<<endl;break;}}void Tea_Manage::Total//数据统计{cout<<"1 教师所用水电量的总量 2 教师总的水电费 "<<endl;int choice;cout<<"请输入你的选择"<<endl;cin>>choice;switchchoice{case 1:{double zwater=0.0, zpower=0.0;forint i=0; i<top; i++{zwater+=Teai.water;zpower+=Teai.power;}cout<<"教师的总用水量为"<<zwater<<endl;cout<<"教师的总用电量为"<<zpower<<endl;}break;case 2:{double zwatermoney=0.0, zpowermoney=0.0;forint i=0;i<top;i++{zwatermoney+=Teai.watermoney;zpowermoney+=Teai.powermoney;}cout<<"教师的总水费为"<<zwatermoney<<endl;cout<<"教师的总电费为"<<zpowermoney<<endl;}break;default:cout<<"输入错误;请重新输入"<<endl;break;}}void Tea_Manage::Save//保存教师信息{ofstream out"教师.txt",ios::out;ifout{cout<<"打开失败"<<endl;return;}cout<<"打开成功"<<endl;forint i=0;i<top;i++{out<<Teai.num<<" "<<<<" "<<Teai.sex<<" "<<Teai.age<<" "<<Teai.depart<<" "<<Teai.water<<" "<<Teai.power<<" "<<Teai.watermoney<<" "<<Teai.powermoney<<" "<<endl;}cout<<"写入成功"<<endl;out.close;}void Tea_Manage::Read//读取教师文件{ifstream in"教师.txt",ios::in;ifin{cout<<"打开失败"<<endl;return;}int i=0;whilein>>Teai.num>>>>Teai.sex>>Teai.age>>Teai.depart>>Teai.water>>Teai.power>>Teai.watermoney>>Teai.powermoney{i++;top++;}cout<<"打开成功"<<endl;in.close;}void TeaMenu;void StuMenu;int main{int choice;do{cout<<"\n============================================================================= ===\n"<<endl;cout<<" 高校水电费管理系统 \n"<<endl;cout<<"\n"<<endl;cout<<" \t1=>教师水电费管理 \t2=>学生水电费管理 \t0=>退出系统 "<<endl;cout<<"\n"<<endl;cout<<"\n请输入您的选择:";cin>>choice;switchchoice{case 1:TeaMenu;break;case 2:StuMenu;break;case 0:cout<<"\n您已安全退出系统."<<endl;break;default:cout<<"\n没有此选项.请重选."<<endl;break;}}whilechoice=0;cout<<"\n------------------------------欢迎您下次再使用---------------------------------"<<endl;return 0;}void TeaMenu{Tea_Manage t;int choice;whilechoice=0{cout<<"\n============================================================================= ===\n"<<endl;cout<< " \n 教师水电费管理"<<endl;cout<<"\n"<<endl;cout<<" 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计 0.退出 "<<endl;cout<<"\n"<<endl;cout<<"\n输入您操作的选项:";cin>>choice;switchchoice{case 1:t.Add;break;case 2:t.Search;break;case 3:t.Edit;break;case 4:t.Delete;break;case 5:t.Show;break;case 6:t.Save;break;case 7:t.Read;break;case 8:t.Total;break;case 0:cout<<"退出成功"<<endl;break;default:cout<<"无此选项请重试"<<endl;break;}}}void StuMenu{Stu_Manage s;int choice;whilechoice=0{cout<<"\n============================================================================= ===\n"<<endl;cout<<" \n 学生水电费管理"<<endl;cout<<"\n"<<endl;cout<<" 1.添加 2.查找 3.修改 4.删除 5.显示 6.保存 7.读取 8.统计 0.退出 "<<endl;cout<<"\n"<<endl;cout<<"\n输入您操作的选项:";cin>>choice;switchchoice{case 1:s.Add;break;case 2:s.Search;break;case 3:s.Edit;break;case 4:s.Delete;break;case 5:s.Show;break;case 6:s.Save;break;case 7:s.Read;break;case 8:s.Total;break;case 0:cout<<"退出成功"<<endl;break;default:cout<<"无此选项请重试"<<endl;break;}}}。
高校学生水电收费管理系统的设计与开发摘要院本文按照软件工程规范,将复杂的水电费管理进行有效地归纳、分析和总结,对系统的需求分析进行了分析]研究,利用数据库模型设计工具Sybase Power-Designer 进行数据库模型的分析和设计,设计了该管理系统的系统框架,该系统包括系统管理、学生管理、公寓房间管理、水电费资费标准管理、水电费数据、系统扭曲验证码实现、水晶报表实现等9 个模块,并在此基础上,基于.NET体系和验证码技术开发平台完成了该系统的软件实现,并对该系统进行功能、网页界面、负载和文档的测试,测试结果表明,该系统达到了设计要求,可满足实际需求。
Abstract: In this paper, in accordance with the norms of software engineering, the complicated electricity and water management iseffectively researched. It analyzes the system requirements and the database model design tool Sybase Power-Designer is used for databasemodel analysis and design. The frame of the management system is designed. The system includes system management, student management,apartment room management, electricity and water fees standard management, water and electricity meter data, system distortion verificationcode implementation and crystal report realization. On this basis, the software realization of the system is done basedon systemauthentication code technology development platform. The function, web interface, load and documentation of this system are tested and thetest results show that, the system has reached the design requirement and met the actual demand.关键词院C#;.NET;水电收费管理Key words: C#;.NET;water and electricity charges management中图分类号院TP311.1 文献标识码院A 文章编号院1006-4311(2014)23-0225-0 引言高校学生水电收费管理系统是将复杂的水电收费管理进行归纳、分析和总结,再转化成计算机化管理。
简易水电费管理系统源程序代码法一:#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。
name,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”,memb。
name”);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。
简易水电费管理系统源程序代码法一:#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;}}}。
系统基本功能要求水电智能管理系统基于B/S结构的一个开放能源管理平台,水电智能管理系统实现对所有水电表进行远程抄表,预付费管理,查询消费记录和充值记录.该系统能够支持用户预付电费,水费。
支持自助缴费等计费收费功能,当水电表剩余金额小于0时,水电表进行断水电,提醒用户缴费。
支持用水用电监测、用水用电量统计分析、远程控制等监控功能。
具体功能如下:1.登录管理⏹更改操作者密码、重新登录、注销、退出系统。
2.档案管理⏹电价管理、采集硬件管理、用户管理、系统角色管理。
3.数据采集⏹手工抄表任务、手工处理数据。
4.用水用电控制⏹任务控制、设备操作。
5.数据查询⏹充值查询、退费查询、抄表数据查询、点抄记录查询、设备控制查询、设备用电数据查询、操作日志。
6.数据分析统计⏹用水用电数据统计、实时监控。
7.钱包管理⏹钱包管理。
支持充值、退费、补助等功能,钱包由系统进行管理。
⏹系统具备预付费、后付费两种收费模式,管理员可以根据管理需要对部分/全部水电表切换水电费收费模式。
⏹预付费模式下,先充值后使用,系统远程费控方式:系统定时自动结算账户余额,当账户余额<=0时,系统在设定的时间点自动控制水电表关阀,用户充值后,当账户余额>0时系统自动控制水电表开阀。
后付费模式下,系统按月自动结算生成水电费账单。
⏹支持水电中心人工充值退费,手机微信充值多种充值方式。
⏹支持自动补助电费、水费。
补助电费、水费:支持对部分/全部水电表配置和下发补助水电费发放和补助金额余额处理策略。
补助水电费金额支持按房间、按人数等额、按人员类型差额等多种补助方式。
补助金额余额处理支持累加/清零选择。
⏹管理系统提供微信小程序查询缴费、欠费提醒、消费明细统计等基本功能。
微信推送的相关告警信息有:余额不足提示、欠费提示、缴费成功提示、月账单推送等;⏹微信缴费:用户通过微信登录小程序的方式进行充值缴费,在充值全过程汇总,用户充值金额通过微信支付方式直接划入管理方提供的账户中,整个过程采用闭环操作,确保账户资金安全;支持实时充值到账;8.水电费结算⏹系统自动采集水电表流量数据,每日自动计算用水用电量和用水用电金额。