用C实现水电煤气管理系统模板
C课程设计高校水电费管理系统
# i n c l u d e < iostream>#include<string>#include<fstream>#include<iomanip>constintTMAX=50;usingnamespacestd;classPerson{public:intn um;2.女)"<<e ndl;cout«"请输入你的选择"<<endl;cin>>choice2;switch(choice2){case1:sex='男”;break;case2:sex='女”;break;default:cout<<"输入错误。
"<<endl;break;}coutvv"请输入年龄:"<<e ndl;cin>>age;cout«"请选择工作部门:"<<e ndl;cout<vsetw(10)vv"1.普通教师"<<setw(10)vv"2.教务处"<<setw(10)vv"3. 财政处"<<setw(10)<<"4. 创业办公室"<<endl;cout«"请输入你的选择"<<endl;cin>>choice1;switch(choice1){case1:depart=普通教师";break;case2:depart=教务处";break;case3:depart=财政处";break; case4:depart二创业办公室";break;default:cout<<"输入错误。
水电费充缴费系统(C语言设计)
项目报告——水电气费查询及充值系统谢培伟本系统是是面向学生及管理员而开发的,也就是说,本系统共有两个大端口:学生端、管理端。
学生端:学生端是针对学生生活查询及充值缴费而设计的,内分为原用户登录及新用户注册两块,学生的数据是利用文件操作储存在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分别为水、电、气充值的量,将充值的量加上原先的量再赋值储存,就完成了水电气费的充值。
水电气费用管理系统c语言课程设计技术报告
课 程 设 计课程名称______________________ 题目名称______________________ 学生学院______________________ 专业班级______________________学 号______________________ 学生姓名______________________ 指导教师______________________2012 年 6月 6日C 语言程序设计课程设计水电气费用管理系统 自动化学院 电子信息科学与技术需求分析:设计题目:水电气费用管理系统设计内容:编程成立一个水电气费用管理系统,使其能对每一个月的水电气进行系统管理。
包括删除,增加用户,查询,缴费功能。
整个系统分为二个软件:主机和客户端。
主机负责计算,客户端面向用户。
系统功能:主机:接收每一个月的数据并处置。
把每一个月的数据写到文件等待客户端操作。
客户端:打开时初始化用户数据。
接收主机输送的数据,整合给用户。
提供删除用户功能。
增加用户。
查询最近三个月数据和缴费情形。
缴费。
退出时保留用户数据。
目录:客户端 (4)主函数 (4)总结 (8)流程图:源程序:客户端:主函数:#include ""#include ""#include ""#include "" ccount=0;strcpy(inittable[time].name,"0");inittable[time].pay=0;}write(head,inittable);/*--------------------------------分割线3------------------------------------------*/ name1(inittable);add(tableaccount);/*--------------------------------分割线3------------------------------------------*/ ame);fscanf(fp,"%2d",&inittable[i].account);fscanf(fp,"%13f",&inittable[i].pay);}fclose(fp);}void del(int tableaccount[MAX]){FILE *fp=NULL;fp=fopen("","r");ame);fprintf(fp,"%2d",table[i].account);fprintf(fp,"%",table[i].pay);fprintf(fp,"\n");}fclose(fp);}void add(int tableaccount[MAX]){int i;FILE *fp=NULL;fp=fopen("","w");//#include ""#include <>#include <>#include <>void main(){int n=0;int i;int ii;int j;int k;int rank;int sign;int del_flag;float num=-1;int num1=1;float sum;float cash[20]={0};char flag=65;sum=0;float x[20][4]={0};FILE *fp=NULL;FILE *fp1=NULL;FILE *fp2=NULL;system("color 04");printf("\n\t关闭主机为非法操作\n");while (1){fp1=fopen("","r+");if(fp1==NULL){printf("打开错误!");}rewind(fp1);fscanf(fp1,"%2d",&n);fclose(fp1);//srand((unsigned)time(NULL));x[0][0] = rand() % 100 +350;for (i=0;i<n;i++){Lab: x[i][0] = rand() % 100 +350;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][0] == x[j][0]) goto Lab;}}x[0][1] = rand() % 20 +30;for (i=0;i<n;i++){cab: x[i][1] = rand() % 20 +30;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][1] == x[j][1]) goto cab;}//printf("%", x[i][1]);}//printf("\n");x[0][2] = rand() % 20 +20;for (i=0;i<n;i++){Lcab: x[i][2] = rand() % 20 +20;for (j=0;j<i;j++){// 比较一下,相同数则不要if (x[i][2] == x[j][2]) goto Lcab;}//printf("%", x[i][2]);}//printf("\n");for (i=0;i<n;i++){sum=0;sum=sum+x[i][0]*+x[i][1]*+x[i][2]*;x[i][3]=sum;cash[i]=cash[i]+sum;}for(i=0;i<n;i++){printf("%",cash[i]);}printf("\n");for(i=0;i<20;i++)//time{Sleep (2000);fp1=fopen("","r+");if(fp1==NULL){printf("打开错误!");}rewind(fp1);fseek(fp1,-4L,SEEK_END);fscanf(fp1,"%2d",&rank);if(rank!=-1){for(j=rank;j<20;j++){cash[j-1]=cash[j];}fseek(fp1,-4L,SEEK_END);fprintf(fp1,"%2d",-1);}fp2=fopen("","w");if(fp2==NULL){printf("打开错误!");}for(ii=0;ii<n;ii++){fprintf(fp2,"%",cash[ii]);fprintf(fp2,"\n");}fclose(fp2);//fseek(fp1,-2L,SEEK_END);fscanf(fp1,"%2d",&sign);if(sign==-1){for(j=0;j<20;j++){cash[j]=0;}fseek(fp1,-2L,SEEK_END);fprintf(fp1,"%2d",1);}//fclose(fp1);}fp=fopen("","a");if(fp==NULL){printf("打开错误!");}fprintf(fp,"%",num);for (i=0;i<n;i++){for (j=0; j<4;j++){fprintf(fp,"%", x[i][j]);}fprintf(fp,"\n");}fprintf(fp,"%c",flag);flag++;if(flag==77){flag=65;}fclose(fp);}}总结:刚开始同意任务时,我还没学指针,结构体,文件操作。
简易水电费管理系统源程序代码
简易水电费管理系统源程序代码法一:#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;}}}。
c语言编亏一个月度收费系统,功能包括计算电费、水费、燃气费。
c语言编亏一个月度收费系统,功能包括计算电费、水费、燃气费。
1. 首先确定需要输入的数据。
根据收费系统的功能,输入数据应该包括电费、水费、燃气费的使用量。
这些信息可以通过键盘输入,或者从文件中读取。
2. 定义变量。
根据上一步确定的需要输入的数据,定义相关的变量,如电费、水费、燃气费的使用量变量。
还需要定义一些常量,如电费、水费、燃气费的单价。
3. 计算费用。
根据上一步定义的变量和常量,计算出电费、水费、燃气费的总量和总费用。
需要注意的是,在计算时需要判断输入的数据是否合法(如使用量是否为正数,是否超出了合理范围等),避免出现计算错误。
4. 输出结果。
将计算出来的费用输出到屏幕上,或者写入文件中。
5. 完善用户交互界面。
可以加入菜单、选择功能等,使用户操作更加方便。
下面是一份简单的代码示例,仅供参考:#include <stdio.h>// 定义电费、水费、燃气费的单价常量#define ELECTRIC_PRICE 0.5#define WATER_PRICE 1.2#define GAS_PRICE 2.0int main() {// 定义电费、水费、燃气费的使用量变量float electric, water, gas;// 输入电费、水费、燃气费的使用量printf("请输入电费使用量(度):");scanf("%f", &electric);printf("请输入水费使用量(吨):");scanf("%f", &water);printf("请输入燃气费使用量(立方米):");scanf("%f", &gas);// 计算费用float electricFee = electric * ELECTRIC_PRICE;float waterFee = water * WATER_PRICE;float gasFee = gas * GAS_PRICE;float totalFee = electricFee + waterFee + gasFee;// 输出费用printf("电费:%f 元\n", electricFee);printf("水费:%f 元\n", waterFee);printf("燃气费:%f 元\n", gasFee);printf("总费用:%f 元\n", totalFee);return 0;}当然,这只是一个简单示例,如果实际使用时还需要加入其他功能或优化代码,可以根据实际需要进行修改。
用C实现水电煤气管理系统方案
课程设计报告课程设计题目:水电煤气管理系统学生:专业:网络工程班级:10211303指导教师:林2011年 11 月 25 日东华理工大学课程设计评分表学生:班级:学号:课程设计题目:水电煤气管理系统一.问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
二.设计思路:(一)程序功能:1.实现对用户信息的录入2.实现水电煤气数据的录入3.计算并查询用户应缴费用4.查询未缴纳费用(二)程序说明:1.在主函数过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。
在“请选择相应功能(0-4):”中使用者输入非0-4数字或其他字符时,系统提示“请检查您输入的数字在0~4之间!请在输入一遍!”的信息,以帮助用户进行正确选择。
3.首先建立了User类,用于初始化、、用水电、煤气量,又定义了缴费函数setMonery(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在setMoney(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。
4.用User类派生出Student和|Teacher类,其中有计算应该缴的费用,Student类比Teacher类多了免费。
5.在保存文件的处理中,需考虑到“创建保存文件失败!”和“已成功保存文件!”等诸多容。
(三)文件类型:(1) Constant.h用于存放收费标准。
(2) File.cpp该文件中有两个类:1.StuFile类,主要用于对学生信息的操作函数属性注释Public StuFile() 构造函数Public void add(Student&s)将S添加到文件中Public void display() 依次显示所有的学生的信息Public Student*gerStudent(stringid) 得到学号为id的学生的对象指针Public ~StuFile() 析构函数,释放资源,并把数组中的信息存进文件Public void wjf() 未缴费的学生的Private vector<Student>*stuList;学生信息的向量数组,用于保存所有学生的信息2 TeacherFile 类,主要用于对教工信息的操作Public TeacherFile() 构造函数Public voidadd(Teacher&s)将s添加到文件中Public void display() 依次显示所有的教师信息Public Teacher*getTeacher(string id) 得到编号为id的教师的对象指针Public ~TeacherFile() 析构函数,释放资源,并把数组中的信息存进文件Public v oid wjf() 未交费的教工人员Private Vector<Teacher>*teaLisr 教工的向量数组,用于保存所有教工的信息(3)Main.cpp函数属性注释void init() 新建一个学生或者教工的信息void select() 查询界面,根据用户的输入来显示用户想查询的信息void add() 信息的录入,录入学生或者教工的水电煤气信息void handed() 缴费,有学生或者教工缴费的时候调用此函数int mainMenu() 主菜单,显示一个菜单,返回用户的输入void work() 程序开始工作int main() 主函数,程序的入口(4)Student.cppClass Student:virtual public User函数属性注释Public Student():User(“”,””,0,0,0) 构造函数Public Student(string i,string n,Float w=0,float p=0,floatg=0):User(i,n,w,p,g) 构造函数i:学号n:Public void display() 依次显示所有的学生的信息Public float display() 返回学生应缴的费用Private float freeWater; 学生免费使用的水量Private float freePower; 学生免费使用的电量Private float freeGas; 学生免费使用的煤气量Private float money; 缴费(5)Teacher.cppClass Teacher:virtual public User函数属性注释Public Teacher(stringi,string n,float w=0,floatp=0,floatg=0):User(I,n,w,p,g)构造函数Public void display() 依次显示所有的教工信息Public float getMoney() 返回教工应缴的费用(6)User.cpp函数属性注释Public User(string i,string构造函数n,floatw=0,float p=0,float g=0)Public string getId() 获取编号Public string getName() 获取Public void setId(string i) 设置编号Public void setName(string n) 设置Public void setWater(float w) 设置水量Public void setPower(float p) 设置电量Public void setGas(float g) 设置煤气量Public float getWater() 使用水量Public virtual void display()=0; 依次显示所有信息Public void setMoney(float m) 缴费Public virtual float getMoney()=0; 应缴费用(四)UML图:StuFile+id:string+name:string+useWater:float+usePower:float+useGas:float+money:float+add():void+display():void+wjf():voidStudent-freeWater:float-freePower:float-freeGas:float+display():void+getMoney():voidUser+i:string+n:string+w:float+p:float+g:float+getId():string+getName():string+setId(string i) :string+setName(string n) :string+setWater(float w) :float+setPower(float p) :float+setGas(float g) :float+getWater():float三.程序代码:Constant.h//收费标准#ifndef Constant#define Constant//教师const static float TwaterUnit=1;const static float TpowerUnit=1;const static float TgasUnit=1;//学生const static float SwaterUnit=1;const static float SpowerUnit=1;const static float SgasUnit=1;//保存学生信息的文件const static char* stuFlieName="s.txt"; //保存教师信息的文件const static char* teaFileName="t.txt"; #endifMain.cpp#include<iostream>#include<iomanip>#include<string>#include<vector>#include"Student.cpp"#include"Teacher.cpp"#include"File.cpp"using namespace std;void init(){cout<<endl;cout<<"1.新建教工信息\n"<<"2.新建学生信息\n"<<endl;cout<<"请选择你要进行的操作:"<<endl;int o;cin>>o;if(o==1){string id;string name;cout<<"请输入新教工的号:";cin>>id;cout<<"请输入新教工的:";cin>>name;Teacher t(id,name);TeacherFile tf;tf.add(t);}else if(o==2){string id;string name;cout<<"请输入新学生的号:";cin>>id;cout<<"请输入新学生的:";cin>>name;Student s(id,name);StuFile sf;sf.add(s);}elsereturn ;}void select(){cout<<endl;cout<<"1.学生的信息\n"<<"2.教师的信息\n"<<"3.按号查询\n"<<"4.未缴费的人员\n"<<"5.不进行任何的操作\n"<<endl;cout<<"请输入你要进行的操作:";int o;cin>>o;StuFile sf;TeacherFile tf;if(o==1){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;sf.display();}else if(o==2){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;tf.display();}else if(o==3){User *user;StuFile sf;TeacherFile tf;string id;cout<<"请输入他的号:";cin>>id;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该号的用户!"<<endl;return ;}cout<<"该用户的信息为:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();}else if(o==4){sf.wjf();tf.wjf();}elsereturn ;}void add(){cout<<"1.对教工使用的水电煤气信息的录入"<<endl <<"2.对学生使用的水电煤气信息的录入"<<endl<<"3.不进行任何操作"<<endl;cout<<"请输入你要进行的操作:"<<endl;int o;string id;float water;float power;float gas;if(o==1||o==2){User*user;StuFile sf;TeacherFile tf;cout<<"请输入他的号:";cin>>id;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该号的用户!"<<endl;return ;}cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();cout<<"请输入他的用水量:";cin>>water;cout<<"请输入他的用电量:";cin>>power;cout<<"请输入他的用煤气量:";cin>>gas;user->setWater(water);user->setPower(power);user->setGas(gas);}elsereturn ;}void handed(){cout<<"请输入要缴费的人的号:";cin>>id;User*user;StuFile sf;TeacherFile tf;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该号的用户!"<<endl;return ;}cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();cout<<"请输入他的缴费金额:";float money;cin>>money;user->setMoney(money);cout<<"缴费成功\n";}int mainMenu(){cout<<endl<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆水电煤气管理系统☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<endl;cout<<" 1.新建用户信息"<<endl;cout<<" 2.信息查询"<<endl;cout<<" 3.信息的录入"<<endl;cout<<" 4.有人缴费"<<endl;cout<<" 0.退出系统"<<endl;int a;char c[20];do{cout<<" 请选择相应的功能(0-4):"<<endl;cout<<endl;cin>>a;gets(c);if(a<0||a>4){cout<<endl<<endl;cout<<"请确认您输入的数字在0~4之间!"<<endl;cout<<"请重新输入一遍!"<<endl<<endl;}}while(a<0||a>4);return a;}void work(){switch(mainMenu()){case 1:init();break;case 2:select();break;case 3:add();break;case 4:handed();break;default:break;}}void Menu(){cout<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆水电煤气管理系统☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆振坡☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<endl;system("pause");system("cls");}void main(){system("color 3A");Menu();char a='y';while(a=='y'){work();cout<<"是否继续使用该系统(y/n)"<<endl;cin>>a;}}File.cpp//StuFile类,对学生信息的操作//TeacherFile类,对教工信息的操作#include<iostream>#include<iomanip>#include<fstream>#include<vector>#include<string>#include"Student.cpp"#include"Teacher.cpp"#include"User.cpp"#include"Constant.h"#ifndef StuFile_class#define StuFile_classclass StuFile{vector<Student> *stuList;public :string id;string name;float useWater;float usePower;float useGas;float money;StuFile(){stuList=new vector<Student>;ifstream *is=new ifstream("StuFileName",ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Student s("","");is->read((char*)&s,sizeof(Student));if(s.getId() !=""){stuList->push_back(s);}}}is->close();}void add(Student &s){stuList->push_back(s);}void display(){for(int i=0;i<stuList->size();i++){Student s=stuList->at(i);s.display();}}Student *getStudent(string id){for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId()==id)return &stuList->at(i);}return 0;~StuFile(){if(stuList !=NULL && !stuList->empty()){ofstream os("stuFileName",ios_base::out);for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId() !="")os.write((char*)&stuList->at(i),sizeof(Student));}os.close();delete stuList;}}void wjf(){cout<<"未缴费的学生:"<<endl;for(int i=0;i<stuList->size();i++){Student s=stuList->at(i);if(s.getMoney()>0){cout<<"该学生的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴纳的费用"<<endl;s.display();}}}};#endif#ifndef TeaFile_class#define TeaFile_classclass TeacherFile{vector<Teacher> *teaList;public:TeacherFile()teaList=new vector<Teacher>;ifstream*is=new ifstream(teaFileName,ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Teacher s("","");is->read((char*)&s,sizeof(Teacher));if(s.getId() !=""){teaList->push_back(s);}}}is->close();}Teacher *getTeacher(string id){for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId()==id)return &teaList->at(i);}return 0;}void wjf(){cout<<"教工未缴费的人员:"<<endl;for(int i=0;i<teaList->size();i++){Teacher t=teaList->at(i);if(t.getMoney()>0){cout<<"该教师的信息是:"<<endl;cout<<"|"<<setw(18)<<"号"<<"|"<<setw(8)<<""<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;t.display();}}}void display(){for(int i=0;i<teaList->size();i++){Teacher t=teaList->at(i);t.display();}}void add(Teacher &s){teaList->push_back(s);}~TeacherFile(){if(teaList !=NULL && !teaList->empty()){ofstream os(teaFileName,ios_base::out);for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId() !="")os.write((char*)&teaList->at(i),sizeof(Teacher));}os.close();delete teaList;}}};#endifStudent.cpp#ifndef STUDENT_CLASS#define STUDENT_CLASS#include<iostream>#include<iomanip>#include<string>#include"Constant.h"#include"User.cpp"using namespace std;class Student:virtual public User{private :float freeWater;float freePower;float freeGas;public :Student():User("","",0,0,0){freeWater=1;freePower=2;freeGas=3;}Student(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g){}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=SwaterUnit*((useWater>freeWater)?(useWater-freeWater):0);float p=SpowerUnit*((usePower>freePower)?(usePower-freePower):0);float g=SgasUnit*((useGas>freeGas)?(useGas-freeGas):0);return w+p+g-money;}};#endifTeacher.cpp#include"User.cpp"#include"Constant.h"#ifndef Teacher_class#define Teacher_classclass Teacher:virtual public User{public :Teacher(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g) {}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=TwaterUnit* useWater;float p=TpowerUnit* usePower;float g=TgasUnit* useGas;return w+p+g-money;}};#endifUser.cpp#include<iostream>#include<iomanip>#include<string>using namespace std;#ifndef USER_CLASS#define USER_CLASSclass User{protected :string id;string name;float useWater;float usePower;float useGas;float money;public :User(string i,string n,float w=0,float p=0,float g=0) {id=i;name=n;useWater=w;usePower=p;useGas=g;money=0;}string getId(){return id;}string getName(){return name;}void setId(string i){id=i;}void setName(string n){name=n;}void setWater(float w){useWater=w;}void setPower(float p){usePower=p;}void setGas(float g){useGas=g;}float getWater(){return useWater;}virtual void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}virtual void setMoney(float m){money +=m;}virtual float getMoney()=0;};#endif四.测试结果:界面一:欢迎界面界面二:程序功能表界面三:新建用户信界面四:信息查询界面五:信息的录入界面六:缴费五.实验心得:课程设计的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋,只怪自己平时看书太少,其实有很多东西在书上都可以找到答案的,可是还是有一些问题我实在没有办法解决,最终通过老师和同学们的努力解决了一个又一个的问题。
[VIP专享]简易水电费管理系统源程序代码
简易水电费管理系统源程序代码法一:#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;}}}。
简易水电费管理系统源程序代码
简易水电费管理系统源程序代码法一:#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。
2020年用C++实现水电煤气管理系统参照模板可编辑
课程设计报告课程设计题目:水电煤气管理系统学生姓名:专业:网络工程班级:10211303指导教师:姜林2011年11 月25 日东华理工大学课程设计评分表学生姓名:班级:学号:课程设计题目:水电煤气管理系统一.问题描述:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括了登记费用,查询费用,以及住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的随便以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
二.设计思路:(一)程序功能:1.实现对用户信息的录入2.实现水电煤气数据的录入3.计算并查询用户应缴费用4.查询未缴纳费用名单(二)程序说明:1.在主函数中通过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。
在“请选择相应功能(0-4):”中使用者输入非0-4数字或其他字符时,系统提示“请检查您输入的数字在0~4之间!请在输入一遍!”的信息,以帮助用户进行正确选择。
3.首先建立了User类,用于初始化身份证号码、姓名、用水电、煤气量,又定义了缴费函数setMonery(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在setMoney(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。
4.用User类派生出Student和|Teacher类,其中有计算应该缴的费用,Student类比Teacher类多了免费。
5.在保存文件的处理中,需考虑到“创建保存文件失败!”和“已成功保存文件!”等诸多内容。
(三)文件类型:(1) Constant.h用于存放收费标准。
(2) File.cpp该文件中有两个类:1.StuFile类,主要用于对学生信息的操作2 TeacherFile 类,主要用于对教工信息的操作(3)Main.cpp(4)Student.cppClass Student:virtual public User(5)Teacher.cppClass Teacher:virtual public User(6)User.cpp(四)UML图:三.程序代码:Constant.h//收费标准#ifndef Constant#define Constant//教师const static float TwaterUnit=1;const static float TpowerUnit=1;const static float TgasUnit=1;//学生const static float SwaterUnit=1;const static float SpowerUnit=1;const static float SgasUnit=1;//保存学生信息的文件const static char* stuFlieName="s.txt";//保存教师信息的文件const static char* teaFileName="t.txt";#endifMain.cpp#include<iostream>#include<iomanip>#include<string>#include<vector>#include"Student.cpp"#include"Teacher.cpp"#include"File.cpp"using namespace std;void init(){cout<<endl;cout<<"1.新建教工信息\n"<<"2.新建学生信息\n"<<endl;cout<<"请选择你要进行的操作:"<<endl;int o;cin>>o;if(o==1){string id;string name;cout<<"请输入新教工的身份证号:";cin>>id;cout<<"请输入新教工的姓名:";cin>>name;Teacher t(id,name);TeacherFile tf;tf.add(t);}else if(o==2){string id;string name;cout<<"请输入新学生的身份证号:";cin>>id;cout<<"请输入新学生的姓名:";cin>>name;Student s(id,name);StuFile sf;sf.add(s);}elsereturn ;}void select(){cout<<endl;cout<<"1.学生的信息\n"<<"2.教师的信息\n"<<"3.按身份证号查询\n"<<"4.未缴费的人员名单\n"<<"5.不进行任何的操作\n"<<endl;cout<<"请输入你要进行的操作:";int o;cin>>o;StuFile sf;TeacherFile tf;if(o==1){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;sf.display();}else if(o==2){cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;tf.display();}else if(o==3){User *user;StuFile sf;TeacherFile tf;string id;cout<<"请输入他的身份证号:";cin>>id;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该身份证号的用户!"<<endl;return ;}cout<<"该用户的信息为:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();}else if(o==4){sf.wjf();tf.wjf();}elsereturn ;}void add(){cout<<"1.对教工使用的水电煤气信息的录入"<<endl<<"2.对学生使用的水电煤气信息的录入"<<endl<<"3.不进行任何操作"<<endl;cout<<"请输入你要进行的操作:"<<endl;int o;cin>>o;string id;float water;float power;float gas;if(o==1||o==2){User*user;StuFile sf;TeacherFile tf;cout<<"请输入他的身份证号:";cin>>id;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该身份证号的用户!"<<endl;return ;}cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();cout<<"请输入他的用水量:";cin>>water;cout<<"请输入他的用电量:";cin>>power;cout<<"请输入他的用煤气量:";cin>>gas;user->setWater(water);user->setPower(power);user->setGas(gas);}elsereturn ;}void handed(){cout<<"请输入要缴费的人的身份证号:";string id;cin>>id;User*user;StuFile sf;TeacherFile tf;user=sf.getStudent(id);if(user==0)user=tf.getTeacher(id);if(user==0){cout<<"资料库中没有该身份证号的用户!"<<endl;return ;}cout<<"该用户的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;user->display();cout<<"请输入他的缴费金额:";float money;cin>>money;user->setMoney(money);cout<<"缴费成功\n";}int mainMenu(){cout<<endl<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆水电煤气管理系统☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<endl;cout<<" 1.新建用户信息"<<endl;cout<<" 2.信息查询"<<endl;cout<<" 3.信息的录入"<<endl;cout<<" 4.有人缴费"<<endl;cout<<" 0.退出系统"<<endl;int a;char c[20];do{cout<<" 请选择相应的功能(0-4):"<<endl;cout<<endl;cin>>a;gets(c);if(a<0||a>4){cout<<endl<<endl;cout<<"请确认您输入的数字在0~4之间!"<<endl;cout<<"请重新输入一遍!"<<endl<<endl;}}while(a<0||a>4);return a;}void work(){switch(mainMenu()){case 1:init();break;case 2:select();break;case 3:add();break;case 4:handed();break;default:break;}}void Menu(){cout<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆水电煤气管理系统☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆杨振坡☆"<<endl;cout<<" ☆☆"<<endl;cout<<" ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"<<endl;cout<<endl;system("pause");system("cls");}void main(){system("color 3A");Menu();char a='y';while(a=='y'){work();cout<<"是否继续使用该系统(y/n)"<<endl;cin>>a;}}File.cpp//StuFile类,对学生信息的操作//TeacherFile类,对教工信息的操作#include<iostream>#include<iomanip>#include<fstream>#include<vector>#include<string>#include"Student.cpp"#include"Teacher.cpp"#include"User.cpp"#include"Constant.h"#ifndef StuFile_class#define StuFile_classclass StuFile{vector<Student> *stuList;public :string id;string name;float useWater;float usePower;float useGas;float money;StuFile(){stuList=new vector<Student>;ifstream *is=new ifstream("StuFileName",ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Student s("","");is->read((char*)&s,sizeof(Student));if(s.getId() !=""){stuList->push_back(s);}}}is->close();}void add(Student &s){stuList->push_back(s);}void display(){for(int i=0;i<stuList->size();i++){Student s=stuList->at(i);s.display();}}Student *getStudent(string id){for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId()==id)return &stuList->at(i);}return 0;}~StuFile(){if(stuList !=NULL && !stuList->empty()){ofstream os("stuFileName",ios_base::out);for(int i=0;i<stuList->size();i++){if(stuList->at(i).getId() !="")os.write((char*)&stuList->at(i),sizeof(Student));}os.close();delete stuList;}}void wjf(){cout<<"未缴费的学生名单:"<<endl;for(int i=0;i<stuList->size();i++){Student s=stuList->at(i);if(s.getMoney()>0){cout<<"该学生的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴纳的费用"<<endl;s.display();}}}};#endif#ifndef TeaFile_class#define TeaFile_classclass TeacherFile{vector<Teacher> *teaList;public:TeacherFile(){teaList=new vector<Teacher>;ifstream*is=new ifstream(teaFileName,ios_base::in);if(is==0){cout<<"打开文件失败!"<<endl;return ;}else{while(is->good()){Teacher s("","");is->read((char*)&s,sizeof(Teacher));if(s.getId() !=""){teaList->push_back(s);}}}is->close();}Teacher *getTeacher(string id){for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId()==id)return &teaList->at(i);}return 0;}void wjf(){cout<<"教工未缴费的人员名单:"<<endl;for(int i=0;i<teaList->size();i++){Teacher t=teaList->at(i);if(t.getMoney()>0){cout<<"该教师的信息是:"<<endl;cout<<"|"<<setw(18)<<"身份证号"<<"|"<<setw(8)<<"姓名"<<"|"<<setw(8)<<"用水量"<<"|"<<setw(8)<<"用电量"<<"|"<<setw(8)<<"用煤气量"<<"|"<<setw(8)<<"要缴的费用"<<endl;t.display();}}}void display(){for(int i=0;i<teaList->size();i++){Teacher t=teaList->at(i);t.display();}}void add(Teacher &s){teaList->push_back(s);}~TeacherFile(){if(teaList !=NULL && !teaList->empty()){ofstream os(teaFileName,ios_base::out);for(int i=0;i<teaList->size();i++){if(teaList->at(i).getId() !="")os.write((char*)&teaList->at(i),sizeof(Teacher));}os.close();delete teaList;}}};#endifStudent.cpp#ifndef STUDENT_CLASS#define STUDENT_CLASS#include<iostream>#include<iomanip>#include<string>#include"Constant.h"#include"User.cpp"using namespace std;class Student:virtual public User{private :float freeWater;float freePower;float freeGas;public :Student():User("","",0,0,0){freeWater=1;freePower=2;freeGas=3;}Student(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g){}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=SwaterUnit*((useWater>freeWater)?(useWater-freeWater):0);float p=SpowerUnit*((usePower>freePower)?(usePower-freePower):0);float g=SgasUnit*((useGas>freeGas)?(useGas-freeGas):0);return w+p+g-money;}};#endifTeacher.cpp#include"User.cpp"#include"Constant.h"#ifndef Teacher_class#define Teacher_classclass Teacher:virtual public User{public :Teacher(string i,string n,float w=0,float p=0,float g=0):User(i,n,w,p,g) {}void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}float getMoney(){float w=TwaterUnit* useWater;float p=TpowerUnit* usePower;float g=TgasUnit* useGas;return w+p+g-money;}};#endifUser.cpp#include<iostream>#include<iomanip>#include<string>using namespace std;#ifndef USER_CLASS#define USER_CLASSclass User{protected :string id;string name;float useWater;float usePower;float useGas;float money;public :User(string i,string n,float w=0,float p=0,float g=0) {id=i;name=n;useWater=w;usePower=p;useGas=g;money=0;}string getId(){return id;}string getName(){return name;}void setId(string i){id=i;}void setName(string n){name=n;}void setWater(float w){useWater=w;}void setPower(float p){usePower=p;}void setGas(float g){useGas=g;}float getWater(){return useWater;}virtual void display(){cout<<"|"<<setw(18)<<id<<"|"<<setw(8)<<name<<"|"<<setw(8)<<useWater<<"|"<<setw(8)<<usePower<<"|"<<setw(8)<<useGas<<"|"<<setw(8)<<getMoney()<<endl;}virtual void setMoney(float m){money +=m;}virtual float getMoney()=0;};#endif四.测试结果:界面一:欢迎界面界面二:程序功能表界面三:新建用户信界面四:信息查询界面五:信息的录入界面六:缴费五.实验心得:课程设计的过程中遇到了很多麻烦,虽然我早有心理准备,但还是令我伤透了脑筋,只怪自己平时看书太少,其实有很多东西在书上都可以找到答案的,可是还是有一些问题我实在没有办法解决,最终通过老师和同学们的努力解决了一个又一个的问题。
C++课程设计高校水电管理系统
面向对象技术与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 <iostream>#include 〈string〉#include〈iomanip>#include〈fstream〉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〈<”请输入编号:"〈<endl;cin〉〉num;cout〈〈"请输入姓名:"〈<endl;cin>>name;cout<<”请输入性别:"〈〈endl;cin〉>sex;cout<<" 请输入身份:”<〈endl;cin>>status;cout〈〈”请输入用水量:”<<endl;cin>>water;cout〈<"请输入用电量:"<<endl;cin〉>power;cout<〈”请选择收费方式:";cout〈<”1。
c语言水费管理系统代码
case 0:return;
}
}
else
cout<<"选择有误,请重新选择!"<<endl<<endl;
}
}
void sub21()
{
char N[20];
char L[20];
char K[20];
cout<<"*请选择:";
cin>>x;
if(x>=0&&x<=2)
{
switch(x)
{
case 1:sub311();break;
case 2:sub312();break;
case 0:return;
}
}
else cout<<"选择有误,请重新选择!"<<endl<<endl;
}
void setname(char *x)//用成员函数修改私有数据成员
{
strcpy(name,x);
}
void setkind(char *y)
{
strcpy(kind,y);
}
void setvolumn(float z)
{
volumn=z;
cout<<"*0>返回主菜单 *"<<endl;
cout<<"********************"<<endl;
cout<<"*请选择:";
燃气充值系统源码
燃气充值系统源码```#include <iostream>#include <iomanip>#include <string>using namespace std;//用户结构体struct Userstring name;double balance;};//燃气卡结构体struct Cardstring cardId;User user;};//充值函数void recharge(Card& card, double amount) er.balance += amount;//查询余额函数double getBalance(const Card& card)return er.balance;int maiCard card; = "John Doe";er.balance = 0.0;cout << "燃气卡号:" << card.cardId << endl;cout << "用户名:" << << endl;cout << "当前余额:" << fixed << setprecision(2) << getBalance(card) << endl;double amount;cout << "请输入充值金额:";cin >> amount;recharge(card, amount);cout << "充值成功!" << endl;cout << "当前余额:" << fixed << setprecision(2) << getBalance(card) << endl;return 0;```该系统使用C++语言编写,实现了燃气充值系统的基本功能。
高校水电费管理系统C实验报告(1)
实验报告课程名称程序设计实践(C++)实验题目高校水电费管理系统实验仪器计算机实验题目高校水电费管理系统一、实验目的(10分)面向对象程序设计实践课程设计是该课程集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习和实践。
要求学生能够熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基础知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力,达到课程学习的目的和要求。
二、需求分析(20分)2.1 环境分析随着科学技术的发展,不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
而面对现今社会的发展,水电费管理系统是每一个高校管理机构对学校资源进行有效管理的不可或缺的一个管理信息系统,它的内容对于学校资源管理机构的管理者来说是至关重要的,该系统应该能够为资源管理机构的管理者提供有效的帮助,使之能够对有效信息进行快捷的整理和查询,大大的方便了管理机构的管理者的合理有效管理。
2.2 要求具体要求:(1)添加功能:程序能够添加不同学生和教工的记录,提供选择界面供用户选择所要添加的类别,要求编号号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。
(2)查询功能:可根据姓名、用水量、用电量信息对已添加的学生或教工记录进行查询如果未找到,给出相应的提示信息;如果找到,则显示相应的记录信息。
(3)显示功能:可显示当前系统中所有学生或教工的记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的学生或教工记录进行删除。
如果当前系统中没有相应的记录则提示“记录为空”并返回操作。
(6)统计功能:能统计学生和教工的用水用电量、所要交纳的电费和水费信息等。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式位“学生.txt”和“教师.txt”。
水电煤气管理系统方案
面向对象程序设计课外实践报告项目名称:水电气管理系统所在班级:计算机科技与技术小组成员:王耀权、董金明指导教师:文英起止时间: 2014.11.25——2015.12.20项目基本信息一、问题描述及分析:设计一个水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同,学生可以免费使用一定额度的水电,超过这个额度的水电以后必须自费使用,且自费部分水电费的价格标准要高于教工的收费标准(主要是节约资源)。
二、功能模块及结构描述:功能模块: 1.在主函数过分支选择可以跳转不同的功能选项进而实现2.在显示主菜单函数中,我们通过设计友好界面来与用户进行交互。
在“请选择相应功能(1-3):”中使用者输入非1-3数字或其他字符时,系统提示结束然后从新开始。
3.进入学生管理系统菜单或者老师管理系统菜单会出现相应功能(1-6):分别对应的有交费功能、查询一个功能、、查询全部功能、增加功能、删除功能。
学生的查询功能分别为学号和,老师的查询功能为编号和,也可以查询到是否缴费,如未交费就会分别显示水费、电费、煤气费、费用并显示总费用。
4.交费时它会显示费用多少,实际交了多少钱,如果钱交多了显示应找零多少。
结构描述:1.首先建立了Feebz类,用于初始化、、用水电、煤气量,又定义了缴费函数Get(),用在有人缴费的函数体中,从键盘输入缴的费用,一开始我们在Get(),中没有对缴的费用进行累加,在查询信息时现实的应缴费用不正确,经过我们的努力,检查出错误并加以改正,让程序更加完善。
2.用Feebz类派生出StuMan和|TeaMan类,其中有计算应该缴的费用,StuMan类比TeaMan类多了免费。
3.在保存文件的处理中,需考虑到“查询失败”和“重新输入”等诸多容三、主要流程描述:流程图:四、使用说明:程序运行后,进入界面:在如上所示的界面下,根据提示进行基本的操作。
c语言 水电费管理系统报告
HUNAN UNIVERSITY程序设计训练——水电费管理系统报告学生姓名学生学号专业班级指导老师2012-7-2至 2012-7-13一程序设计目的1.掌握结构化程序设计的基本思想;2.熟练掌握结构的设计和运用;3.了解综合系统设计的基本原理;4.掌握C语言程序的综合应用。
二程序设计任务内容水电费管理系统给用户提供了一个在Windows操作系统上运行的管理平台,用户可以对其成员ID、姓名以及用水量、用电量、缴费信息构成进行查看、添加、删除、修改等管理操作。
由生活常识知,用户只需根据管理员的要求缴费即可,而管理员则需要计算、统计、纪录缴费信息,因此此系统只针对管理员开发。
水电费管理系统软件是为管理员进行用户成员的用水电量及缴费信息管理进行计算、统计、纪录的应用软件,功能描述如下:1.给管理员提供功能选择界面:该系统只针对管理员,所以无需登录,直接进入功能选择界面。
功能选择界面包括输入功能选项、调用相应程序两大需求。
2.管理用户信息:管理员可操作添加、查看、修改、删除用户信息,包括姓名、ID、用水量及用电量。
3.查看用户缴费信息:可以查看每个用户应缴的水费、电费,系统默认水1.8元/吨,电0.5元/度。
4.统计总费用:可以统计总的电费、水费及总费用,便于收缴费用后进行检查、核实,以免出错。
三程序详细设计说明系统结构设计1.总体设计本系统的总体思想基于结构化的程序设计。
应用高级语言程序设计中的基本控制结构,着重实现管理系统的增、删、改、查等典型的管理功能。
因此,系统的设计方法是结构化设计方法,开发手段是C语言,在Microsoft Visual C++ 6.0环境下开发。
2.系统模块结构图依据需求分析结果,水电费管理系统可以分为3个模块:1、用户管理模块、2、功能选择模块、3、用户缴费查看模块、如图1所示。
图1系统模块结构图3. 系统流程描述:图2系统流程图4.界面设计水电费管理系统的界面设计主要遵循方便易用、界面友好的原则,具体设计如下。
C语言水电费管理系统设计
软件技术设计报告书题目:水电费管理系统设计系部:信工系专业:计算机系统保护班级:12 级计维姓名:学号:2021年 7 月 20日目录一.任及内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1二.明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1三.的缺点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯2四.心得与领悟⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3五.程序局部及程序原代⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3六.行果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9水电费管理设计报告一.设计任务及内容【目的】:1. 掌握 C 语言程序的综合运用2.认识系统设计的根根源理3.掌握结构化程序的根本思想【设计要求】1.编写一个菜单实现驱动水电管理系统程序〔要求使用〕,实现相关功能。
2.本系统的整体思想基于结构化的程序设计,运用高级语言程序设计中的根本控制结构,重视实现管理系统的增加、删除、更正、查察等典型的管理系统3.水电费管理系统是为管理员进行用户成员用水电量及缴费信息管理进行计算、统计、记录的运用软件,其功能以下:(1)给管理员供应功能选择界面,该系统只针对管理员,因此无需登录,直接进入功能选择界面,功能选择界面包括输入功能选项,调用相应程序两大需求。
〔2〕管理用户信息:管理员可操作增加、查察、更正、删除用户信息,包括姓名、地址、用水量、用电量。
〔3〕查察用户缴费信息:能够查察每个用户应缴费的水费、电费,系统默认水费为 2 元/ 吨,电费为 0.8 元/ 度。
〔4〕统计总用费:能够统计总的电费、水费及总花销,便于收缴花销户进行检查、核实,省得出错。
二.设计说明〔一〕、水电费管理可分为 3 大模块1.用户管理2.功能选择3.用户缴费查察1〔二〕、流程图开始显示用户信息增加用户用户管理更正用户信息删除用户信息退出用户缴费信息盘问总水费收费管理总电费总花销退出退出三.设计的优缺点优缺点有:1.方便管理员管理用户的信息2.保密性强、检索迅速、查找方便等3.由于能够管理范围大,地址是应用输入,不能够进行选择,因此加大管理员的工作量4.只能输入一个月的信息,若是屡次输入同一个用户的信息,那么显2示最后输入信息,由于先前输入的信息已被覆盖。
C语言水电费管理系统
C语言水电费管理系统#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN100#definew1.8//水1.8元/吨#definee0.5//电0.5元/structResidentinf{printf("*3:排序*");printf("**");printf("*4:删除*");printf("**");printf("*5:查询*");printf("**");printf("*6:修改*");printf("**");printf("*7:退出*");printf("****************************");printf("ChooseFunction(1-7)[]\b\b");scanf("%d",&sele);switch(sele){case1:AdddataFunc();break;case2:StatisdataFunc();break;case3:SortdataFunc();break;case4:}voidCaldataFunc(){inti,j;fp=fopen("Data.txt","w");for(i=0;i<N;i++)for(j=1;j<100;j++){(p+i)->emoney[j]=((p+i)->wanum[j]-(p+i)->wanum[j-1])*w+((p+i)->elnum[j]-(p+i)->elnum[j-i])*e;(p+i)->amoney=0;(p+i)->amoney+=(p+i)->emoney;}SavedataFunc()}voidSavedataFunc(){FILE*fp;fp=fopen("Data.txt","w");inti,j;for(i=0;i<N;i++)(p+i)->wanum=re.wanum;printf("\n\t\telnum:");scanf("%d",&re.elnum[j]);(p+i)->elnum=re.elnum;printf("\n\t\t\ttime:");scanf("%s",re.time[j]);strcpy((p+i)->time,re.time);}printf("\n登记完毕!\n");break;}SavedataFunc();}voidSortdataFunc(){inti,j;Ret;for(i=0;i<N-1;i++)for(j=0;j<N;j++)if((p+i)->number<(p+j)->number){t=(p+i);(p+i)=(p+j);(p+j)=t;用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case2:{printf("姓名:");scanf("%s",);for(i=0;i<N;i++)if(strcmp((p+i)->name,)==0)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s\n\t总费用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case4:{printf("日期:");scanf("%s",re.time);}SavedataFunc();}。
计算机C语言水电费管理系统
C语言水电费管理系统#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 100#define w 1.8 // 水1.8元/吨#define e 0.5 // 电0.5元/struct Residentinf{int number; // 住户门牌号char name[20]; // 户主姓名float * wanum,* elnum; // 用水(吨)、电(度)表示数float amonney,* emoney; // 总共的水电费用,每月的水电费用char * time; // 收费时间}Re[N];int num; // 数据个数Residentinf *p; // 指向结构体的指针void AdddataFunc();void StatisdataFunc();void QuerydataFunc();void SavedataFunc();void SortdataFunc();void ModifydataFunc();void ScandataFunc();void CaldataFunc();// 主函数void main(){int sele;sele=1;while(sele){system("cls"); // 清屏printf("*********** Main ***********");printf("* *");printf("* 1: 住户登记*");printf("* *");printf("* 2: 统计*");printf("* *");printf("* 3: 排序*");printf("* *");printf("* 4: 删除*");printf("* *");printf("* 5: 查询*");printf("* *");printf("* 6: 修改*");printf("* *");printf("* 7: 退出*");printf("****************************");printf("Choose Function (1 - 7) [ ]\b\b");scanf("%d",&sele);switch(sele){case 1:AdddataFunc();break;case 2:StatisdataFunc();break;case 3:SortdataFunc();break;case 4:DeletedataFunc();break;case 5:QuerydataFunc();break;case 6:ModifydataFunc();break;case 7:exit(0);}printf("\nPlease press any key to continue");getchar();getchar();}}void ScandataFunc(){int i,j;FILE *fp;fp=fopen("Data.txt","r");for(i=0;i<N;i++){fscanf(fp,"%d%s%d",&(p+i)->number,(p+i)->name,&(p+i)->amoney);for(j=0;j<100;j++)fscanf(fp,"%d%d%d%s",&(p+i)->wanum,&(p+i)->elnum,&(p+i)->emoney,(p+i)->time);}fclose(fp);}void CaldataFunc(){int i,j;fp=fopen("Data.txt","w");for(i=0;i<N;i++)for(j=1;j<100;j++){(p+i)->emoney[j]=((p+i)->wanum[j]-(p+i)->wanum[j-1])*w+((p+i)->elnum[j]-(p+i)->elnum[j-i]) *e;(p+i)->amoney=0;(p+i)->amoney+=(p+i)->emoney;}SavedataFunc()}void SavedataFunc(){FILE*fp;fp=fopen("Data.txt","w");int i,j;for(i=0;i<N;i++){fprintf(fp,"%d %s %d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)fprintf(fp,"%d %d %d %s",(p+i)->wanum,(p+i)->elnum,(p+i)->emoney,(p+i)->time);}fclose(fp);}void AdddataFunc(){int n,i;Re re;printf("请输入新用户信息");system("cls");for(i=0;i<N;i++){printf("\n\t\tnumber:");scanf("%d",&re.number);(p+i)->number=re.number;printf("\n\t\tname:");scanf("%s",);strcpy((p+i)->name,);for(j=0;j<100;j++){printf("\n\t\twanum:");scanf("%d",&re.wanum[j]);(p+i)->wanum=re.wanum;printf("\n\t\telnum:");scanf("%d",&re.elnum[j]);(p+i)->elnum=re.elnum;printf("\n\t\t\ttime:");scanf("%s",re.time[j]);strcpy((p+i)->time,re.time);}printf("\n登记完毕!\n");break;}SavedataFunc();}void SortdataFunc(){int i,j;Re t;for(i=0;i<N-1;i++)for(j=0;j<N;j++)if((p+i)->number<(p+j)->number){t=(p+i);(p+i)=(p+j);(p+j)=t;}SavedataFunc();}void QuerydataFunc(){int i,n,j;Re re;system("cls");puts("\t\t\t***************查询***************\n");puts("\t\t\t* *\n");puts("\t\t\t* 1.住户门牌号*\n");puts("\t\t\t* 2.户主姓名*\n");puts("\t\t\t* 3.日期*\n");puts("\t\t\t**********************************\n");printf("您想通过第[ ]种方式查询?\b\b");scanf("%d",&n);switch(n){case 1:{printf("住户门牌号:");scanf("%d",&re.number);for(i=0;i<N;i++)if((p+i)->number==re.number)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s\n\t总费用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case 2:{printf("姓名:");scanf("%s",);for(i=0;i<N;i++)if(strcmp((p+i)->name,)==0)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s\n\t总费用:%d",(p+i)->number,(p+i)->name,(p+i)->amoney);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}break;case 4:{printf("日期:");scanf("%s",re.time);for(i=0;i<N;i++)for(j=0;j<100;j++)if(strcmp((p+i)->time[j],re.time[j])==0)break;printf("\n\t住户门牌号:%d\n\t户主姓名:%s",(p+i)->number,(p+i)->name);for(j=0;j<100;j++)printf("\n\t月用水量:%d\n\t月用电量:%d\n\t月费用:%d",(p+i)->wanum[j],(p+i)->elnum[j],(p+i)->emoney[j]);}}}void DeleteFunc(){int i,j,m;printf("删除的住户门牌号为:[ ]\b\b");scanf("%d",&m);for(i=0;i<N;i++)if((p+i)->number==m){strcpy((p+i)->name,(p+j+1)->name);(p+i)->amoney=(p+i+1)->amoney;for(j=0;j<100;j++){(p+i)->wanum[j]=(p+i+1)->wanum[j+1];(p+i)->elnum[j]=(p+i+1)->elnum[j+1];strcpy((p+i)->time[j],(p+i+1)->time(j+1));}SavedataFunc();}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用C实现水电煤气
管理系统
课程设计报告课程设计题目: 水电煤气管理系统
学生姓名:
专业: 网络工程
班级: 10211303
指导教师: 姜林
11 月 25 日
东华理工大学
课程设计评分表
学生姓名: 班级: 学号:
课程设计题目: 水电煤气管理系统
一.问题描述:
设计一个水电管理信息系统, 能够对高校的水电费用进行管理,包括了登记费用, 查询费用, 以及住户信息管理等。
在设计时要考虑到学生和教工在用水电时的不同, 学生能够免费使用一定额度的水电, 超过这个额度的随便以后必须自费使用, 且自费部分水电费的价格标准要高于教工的收费标准( 主要是节约资源) 。
二.设计思路:
(一)程序功能:
1.实现对用户信息的录入
2.实现水电煤气数据的录入
3.计算并查询用户应缴费用
4.查询未缴纳费用名单
(二)程序说明:
1.在主函数中经过分支选择能够跳转不同的功能选项进而实现
2.在显示主菜单函数中, 我们经过设计友好界面来
与用户进行交互。
在”请选择相应功能(0-4): ”中
使用者输入非0-4数字或其它字符时, 系统提示”
请检查您输入的数字在0~4之间! 请在输入一
遍! ”的信息, 以帮助用户进行正确选择。
3.首先建立了User类, 用于初始化身份证号码、姓
名、用水电、煤气量, 又定义了缴费函数
setMonery(), 用在有人缴费的函数体中, 从键盘输入
缴的费用, 一开始我们在setMoney(), 中没有对缴的
费用进行累加, 在查询信息时现实的应缴费用不正
确, 经过我们的努力, 检查出错误并加以改正, 让程
序更加完善。
4.用User类派生出Student和|Teacher类, 其中有计
算应该缴的费用, Student类比Teacher类多了免
费。
5.在保存文件的处理中, 需考虑到”创立保存文件
失败! ”和”已成功保存文件! ”等诸多内容。
(三)文件类型:
(1) Constant.h
用于存放收费标准。
(2) File.cpp
该文件中有两个类:
1.StuFile类, 主要用于对学生信息的操作
Public
Public
Public
Private
2 TeacherFile 类, 主要用于对教工信息的操作
(3)Main.cpp。