小区水电费管理系统C语言
C++:水费管理系统

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所示。
水电费充缴费系统(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语言课程设计

收费管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在收费管理系统中的应用,掌握基本的数据结构(如数组、结构体)和文件操作相关知识。
2. 学会使用C语言编写程序,实现收费管理系统的基本功能,如用户注册、登录、费用查询、费用缴纳等。
3. 了解收费管理系统的设计思路和模块划分,掌握模块化编程的方法。
技能目标:1. 培养学生运用C语言解决实际问题的能力,提高编程实践技能。
2. 学会使用调试工具,能够自主调试程序,找出并修复错误。
3. 提高团队协作能力,学会与他人共同分析问题、设计解决方案。
情感态度价值观目标:1. 培养学生积极探究、勇于实践的精神,增强学习编程的兴趣。
2. 培养良好的编程习惯,注重代码规范和程序优化。
3. 增强学生的网络安全意识,认识到收费管理系统在实际应用中的重要性。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识进行实际编程。
学生特点:学生已经具备一定的C语言基础,但实际编程经验不足,对收费管理系统这一实际应用场景较为陌生。
教学要求:注重理论与实践相结合,通过讲解、示范、练习、讨论等多种教学方式,引导学生掌握收费管理系统的设计与实现方法。
同时,关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据结构与文件操作:回顾C语言中的数组、结构体等基本数据结构,介绍文件操作相关知识,为编写收费管理系统打下基础。
- 数组的使用与操作- 结构体的定义与使用- 文件读写操作2. 收费管理系统功能模块设计:- 用户注册模块:实现用户注册功能,包括用户名、密码等信息的存储- 用户登录模块:实现用户登录功能,验证用户名和密码的正确性- 费用查询模块:实现用户费用查询功能,展示用户消费记录- 费用缴纳模块:实现用户费用缴纳功能,包括充值、支付等操作3. 编程实践与模块化设计:- 编程规范与代码优化- 模块化编程方法与实践- 调试工具的使用与程序调试技巧4. 团队协作与项目实践:- 分析与讨论:分组讨论,共同分析收费管理系统的需求与设计- 项目实践:小组成员分工合作,共同完成收费管理系统的设计与实现5. 教学进度安排:- 第一周:数据结构与文件操作知识回顾- 第二周:收费管理系统功能模块设计- 第三周:编程实践与模块化设计- 第四周:团队协作与项目实践,完成收费管理系统设计与实现教学内容与教材关联性:本课程教学内容与教材相关章节紧密相关,如数据结构与文件操作、模块化编程、调试技巧等,确保学生能够将所学知识应用于实际项目中。
水电气费用管理系统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语言程序设计-物业管理系统

精心整理#include"stdio.h"#include"stdlib.h"#include"string.h"#defineM5structPeople{inta;charming[30];intc;}P[M];{}{{printf("\t-2.物业收费管理-\n");printf("\t-3.生成小区住户收费报表-\n");printf("\t-4.退出-\n");printf("\t--\n");printf("\t--\n");printf("\t-------------------o(╯□╰)o-------------------\n");printf("\tEND\n");printf("请输入所要选择内容的序号(1-4):[]\b\b");scanf("%d",&a);switch(a){case1:menu_2();break;case2:menu_3();break;case3:biao_1();break;case4:exit(0);break;default:exit(0);}getchar();getchar();}}{switch(a){case1:scan_1();break;case2:add_1();break;case3:rewrite_1();break;case4:delete_1();break;case5:seek_1();break;default:exit(0);}}{FILE*fp;charch;if((fp=fopen("e:\\data.txt","r+"))==NULL){printf("cannotopenthefile!");exit(0);}ch=fgetc(fp);while(ch!=EOF){}}{{}else{scanf("%s",P[i].ming);printf("项目:");scanf("%s",P[i].xiang);printf("已交:");scanf("%d",&P[i].b);printf("已欠:");scanf("%d",&P[i].c);fprintf(fp,"%d%s%s%d%d",P[i].a,P[i].ming,P[i].xiang,P[i].b,P[i].c);fprintf(fp,"\n");}}voidsavein_1(){inti;FILE*fp;fp=fopen("e:\\data.txt","r");for(i=0;i<3;i++)fscanf(fp,"%d%s%s%d%d",&P[i].a,P[i].ming,P[i].xiang,&P[i].b,&P[i].c);fclose(fp);}{if({}else{scanf("%d",&P[i-1].b);printf("请输入已交的物业费\n");scanf("%d",&P[i-1].c);fp=fopen("e:\\data.txt","w+");i=0;do{fprintf(fp,"%d%s%s%d%d",P[i].a,P[i].ming,P[i].xiang,P[i].b,P[i].c);i++;}while(i<=2);}voiddelete_1(){FILE*fp;voidsavein_1();intnum,i=0;printf("请输入所要删除人的编号:[]\b\b");scanf("%d",&num);savein_1();while(P[i].a!=num){}i=0;do{}{savein_1();while(i!=num)i++;printf("%d%s%s%d%d",P[i-1].a,P[i-1].ming,P[i-1].xiang,P[i-1].b,P[i-1].c); }voidmenu_3(){voidscan_2();voidadd_2();voidrewrite_1();inta;system("cls");printf("\t*欢迎使用物业收费管理系统*\n");printf("\t------------------(⊙_⊙?)----------------------\n");printf("\t--\n");printf("\t--\n");printf("\t-1.浏览小区收费项目-\n");printf("\t-2.增加小区收费数目-\n");printf("\t-3.更改小区收费项目-\n");printf("\t-4.删除小区收费项目-\n");printf("\t--\n");{}}{{}while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);}voidadd_2(){inti,num;if((fp=fopen("e:\\data.txt","a"))==NULL){printf("文件不能打开/n");exit(0);}else{printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){}}{FILE*fp;{printf("exit(0);}else{ inti,num;printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){printf("项目:");scanf("%s",&P[i].xiang);fprintf(fp,"%s",P[i].xiang);fprintf(fp,"\n");fclose(fp);}}*/voiddelete_2(intd){FILE*fp;voidsavein_1();intnum,i=0;printf("请输入所要删除人的编号:[]\b\b");scanf("%d",&num);{}do{}{if((fp=fopen("e:\\data.txt","r+"))==NULL){printf("cannotopenthefile!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);fclose(fp);printf("\n"); }。
住户水电费管理程序设计综合实验设计

xx大学【实验目的和要求】:1、利用所学过的C语言编程的基本知识如综合顺序、分支、循环结构和函数,以及数组、指针、结构体和共用体、文件等进行编程,较全面的掌握C语言的知识。
2、初步掌握输入、输出、查找、排序的编程方法。
3、逐步掌握C语言编程基本方法和技能。
【实验内容】:编写程序,从键盘输入某宿舍楼6家用户某月的水电消耗量及水费和电费标准,计算各户应缴纳的水费和电费。
(1)水费标准为:1.5元/吨,电费标准为:0.5元/度.。
将信息组织在文件input.dat中:1.5 0.5101 5 150102 4 90103 4 120104 3 78105 5 60106 6 105(2)分别计算各户应缴纳的水费和电费及应缴纳的水费和电费的总和。
(3)汇总全部住户水费电费的总和。
(4)将结果写入文件charge.dat中。
【源程序】//王灵艳0900820305#include<stdio.h>#define NULL 0FILE *fp1,*fp2;struct yong_hu{float price[2];int addr[5];int water[6];int elect[6];}yonghu[6];struct fei_yong{int addr[5];int water[6];float water_1[6];int elect[6];float elect_1[6];float sum[6];float total[5];}fei_yong [6];void main(){void input();void output();int i,j;float a,b,c[5]={0.0};input();fp1=fopen("input.dat","rb");for(i=0;i<6;i++){fread(&yonghu[i],sizeof(struct yong_hu),1,fp1);*fei_yong[i].water_1=(*yonghu[0].price)*(*yonghu[i].water);a=*fei_yong[i].water_1;*fei_yong[i].elect_1=(*yonghu[1].price)*(*yonghu[i].elect);b=*fei_yong[i].elect_1;*fei_yong[i].sum=a+b;c[0]+=*yonghu[i].water;c[1]+=a;c[2]+=*yonghu[i].elect;c[3]+=b;c[4]+=*fei_yong[i].sum;for(j=0;j<5;j++)*fei_yong[j].total=c[j];*fei_yong[i].addr=*yonghu[i].addr;*fei_yong[i].water=*yonghu[i].water;*fei_yong[i].elect=*yonghu[i].elect;}output();printf("住户地址水耗(吨) 水费(元) 电耗(度) 电费(元) 合计(元)\n");for(i=0;i<6;i++)printf("%3d %8d %8.1f %5d %7.1f %7.1f\n",*yonghu[i].addr,*fei_yong [i].water,*fei_yong [i].water_1,*fei_yong [i].elect,*fei_yong [i].elect_1,*fei_yong [i].sum);printf("Total");for(i=0;i<5;i++)printf("%9.1f",*fei_yong[i].total);printf("\n");}void input(){int i;printf("Please enter the number:\n");scanf("%f%f",&yonghu[0].price,&yonghu[1].price);for(i=0;i<6;i++){scanf("%d%d%d",yonghu[i].addr,yonghu[i].water,yonghu[i].elect);}if((fp1=fopen("input.dat","wb"))==NULL){printf("cannot open file\n");return;}for(i=0;i<6;i++)if(fwrite(&yonghu[i],sizeof(struct yong_hu),1,fp1));elseprintf("file write error\n");fclose(fp1);}void output(){int i;if((fp2=fopen("charge.dat","wb"))==NULL){printf("cannot open file\n");return;}for(i=0;i<6;i++)if(fwrite(&fei_yong [i],sizeof(struct fei_yong ),1,fp2));elseprintf("file write error\n");fclose(fp2);}【运行结果贴图】。
c语言课程设计水电费

c语言课程设计水电费一、教学目标本章节的教学目标是让学生掌握C语言的基本语法和编程技巧,能够运用C语言进行简单的程序设计。
具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本数据类型、运算符、控制结构、函数等语法知识。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:培养学生对计算机编程的兴趣,提高学生解决问题的能力。
二、教学内容本章节的教学内容主要包括以下几个部分:1.C语言的基本数据类型和运算符。
2.控制结构:条件语句、循环语句。
3.函数:定义、声明、调用。
4.数组、字符串和指针。
5.文件操作。
三、教学方法为了达到本章节的教学目标,将采用以下几种教学方法:1.讲授法:讲解C语言的基本语法和编程技巧。
2.案例分析法:分析实际案例,让学生理解并掌握C语言的运用。
3.实验法:让学生动手编写程序,巩固所学知识。
4.讨论法:分组讨论,培养学生合作解决问题的能力。
四、教学资源为了支持本章节的的教学,将准备以下教学资源:1.教材:《C程序设计语言》。
2.参考书:《C Primer Plus》、《C和指针》。
3.多媒体资料:教学PPT、视频教程。
4.实验设备:计算机、网络。
五、教学评估本章节的评估方式将包括以下几个部分:1.平时表现:通过课堂表现、小组讨论等方式评估学生的学习态度和参与度。
2.作业:布置编程作业,评估学生的编程能力和对知识的理解程度。
3.考试:期末进行笔试考试,测试学生对C语言知识的掌握程度和编程能力。
评估方式将力求客观、公正,全面反映学生的学习成果。
六、教学安排本章节的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生系统地掌握C语言知识。
2.教学时间:每周安排两节课,每节课45分钟。
3.教学地点:计算机实验室,以便学生进行编程实践。
教学安排将考虑学生的作息时间和兴趣爱好,确保教学进度合理、紧凑。
七、差异化教学根据学生的不同学习风格、兴趣和能力水平,将进行差异化教学:1.针对学习风格不同的学生,采用多种教学方法,如讲授法、实验法等,以满足不同学生的学习需求。
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语言程序设计物业管理系统

C语言程序设计物业管理系统集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]#i n c l u d e""#include ""#include ""#define M 5struct People{int a;char ming[30];char xiang[30];int b;int c;}P[M];void main(){int a=1;void menu_1(int a);menu_1(a);}void menu_1(int a){void menu_2();void menu_3();void biao_1();int loop=1;while(loop){system("cls");printf("\t WELCOME \n");printf("\t--------------------(*^◎^*)--------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.小区用户管理 -\n");printf("\t- 2.物业收费管理 -\n");printf("\t- 3.生成小区住户收费报表 -\n");printf("\t- 4.退出 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-------------------o(╯□╰)o-------------------\n");printf("\t END \n");printf("请输入所要选择内容的序号(1-4):[ ]\b\b");scanf("%d",&a);switch(a){case 1:menu_2();break;case 2:menu_3();break;case 3:biao_1();break;case 4:exit(0);break;default :exit(0);}getchar();getchar();}}void menu_2(){void scan_1();void add_1();void rewrite_1();void delete_1();void seek_1();int a;system("cls");printf("\t *欢迎使用小区用户管理系统* \n");printf("\t-----------------↖(^ω^)↗---------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.浏览用户资料 -\n");printf("\t- 2.录入用户资料 -\n");printf("\t- 3.更改用户资料 -\n");printf("\t- 4.删除用户资料 -\n");printf("\t- 5.查找用户资料 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-----------------O(∩_∩)O~---------------------\n");printf("\t END \n");printf("请输入所要选择内容的序号(1-3):[ ]\b\b");scanf("%d",&a);switch(a){case 1:scan_1();break;case 2:add_1();break;case 3:rewrite_1();break;case 4:delete_1();break;case 5:seek_1();break;default:exit(0);}}void scan_1(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);printf("\n");}void add_1(){FILE *fp;if((fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{int i;int num;printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=2;i<num+2;i++){printf("编号:");scanf("%d",&P[i].a);printf("姓名:");scanf("%s",P[i].ming);printf("项目:");scanf("%s",P[i].xiang);printf("已交:");scanf("%d",&P[i].b);printf("已欠:");scanf("%d",&P[i].c);fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);fprintf(fp,"\n");}fclose(fp);}}void savein_1(){int i;FILE *fp;fp=fopen("e:\\","r");for(i=0;i<3;i++)fscanf(fp,"%d %s %s %d %d",&P[i].a,P[i].ming,P[i].xiang,&P[i].b ,&P[i].c);fclose(fp);}void rewrite_1(){FILE *fp;void savein_1();if( (fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{int i=0,num;savein_1();printf("输入所要更改的编号[ ]\b\b");scanf("%d",&num);while(P[i].a!=num)i++;printf("请输入所要的新标号\n");scanf("%d",&P[i-1].a);printf("请输入所要的姓名\n");scanf("%s",P[i-1].ming);printf("请输入所要的收费项目\n");scanf("%s",P[i-1].xiang);printf("请输入所欠的物业费\n");scanf("%d",&P[i-1].b);printf("请输入已交的物业费\n");scanf("%d",&P[i-1].c);fp=fopen("e:\\","w+");i=0;do{fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++;}while(i<=2);fclose(fp);}}void delete_1(){FILE *fp;void savein_1();int num,i=0;printf("请输入所要删除人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(P[i].a!=num)i++;for(i;i<=5;i++){P[i].a=P[i+1].a;strcpy(P[i].ming,P[i+1].ming);strcpy(P[i].xiang,P[i+1].xiang);P[i].b=P[i+1].b;P[i].c=P[i+1].c;}fp=fopen("e:\\","w");i=0;do{fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++ ;}while(i<=5);fclose(fp);}void seek_1(){void savein_1();int num,i=0;printf("请输入所要查找的人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(i!=num)i++;printf("%d %s %s %d %d",P[i-1].a,P[i-1].ming,P[i-1].xiang,P[i-1].b,P[i-1].c);}void menu_3(){void scan_2();void add_2();void rewrite_1();void delete_2();int a;system("cls");printf("\t *欢迎使用物业收费管理系统* \n");printf("\t------------------(⊙_⊙)----------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.浏览小区收费项目 -\n");printf("\t- 2.增加小区收费数目 -\n");printf("\t- 3.更改小区收费项目 -\n");printf("\t- 4.删除小区收费项目 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-------------------(⊙o⊙)----------------------\n");printf("\t- END -\n");printf("请输入所要选择内容的序号(1-3):[ ]\b\b");scanf("%d",&a);switch(a){case 1:scan_2();break;case 2:add_2();break;case 3:rewrite_1();break;case 4:delete_2();break;default:exit(0);}}void scan_2(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);}void add_2(){int i,num;FILE *fp;if((fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){printf("编号:");scanf("%d",&P[i].a);printf("姓名:");scanf("%s",&P[i].ming);printf("项目:");scanf("%s",&P[i].xiang);printf("已交:");scanf("%d",&P[i].b);printf("已欠:");scanf("%d",&P[i].c);fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);}fclose(fp);printf("\n");}}/*void rewrite_2(){FILE *fp;if((fp=fopen("e:\\","w"))==NULL){printf("文件不能打开/n");exit(0);}else{ int i,num;printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){printf("项目:");scanf("%s",&P[i].xiang);fprintf(fp,"%s",P[i].xiang);fprintf(fp,"\n");}fclose(fp);}}*/void delete_2(int d){FILE *fp;void savein_1();int num,i=0;printf("请输入所要删除人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(i!=num)i++;for(i=num;;i++){P[i].a=P[i+1].a;strcpy(P[i].ming,P[i+1].ming);strcpy(P[i].xiang,P[i+1].xiang);P[i].b=P[i+1].b;P[i].b=P[i+1].b;}fp=fopen("e:\\","a");do{i=0;fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++ ;}while(i<=5);fclose(fp);}void biao_1(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);printf("\n");}。
[VIP专享]简易水电费管理系统源程序代码
![[VIP专享]简易水电费管理系统源程序代码](https://img.taocdn.com/s3/m/4dc8854ca76e58fafab00387.png)
简易水电费管理系统源程序代码法一:#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。
小区水电费管理系统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();}。
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<<"*请选择:";
[VIP专享]小区水电费管理系统
![[VIP专享]小区水电费管理系统](https://img.taocdn.com/s3/m/ca854f94ba1aa8114431d9ec.png)
#include<stdio.h>#include<string.h>#include<stdlib.h>#define w 1.8/*水1.8元/吨*/#define e 0.5/*电0.5元/度*/struct user{char name[10],ID[20];/*用户的姓名和身份证号码*/double water,electricity;/*用水(吨)、电(度)量*/double monney;/*总共的水电费用*/}u[100];/*用户最大容量为100*/void main(){int choice=0;GOTO7:system("cls");printf("\t\t\t-----------------------------------\n");printf("\t\t\t| 欢迎进入水电费管理系统^_^ |\n");printf("\t\t\t-----------------------------------\n\n\n");printf("\n\t\t\t1.住户管理\n\t\t\t2.单价设置\n\t\t\t3.费用收取\n\t\t\t4.费用查询统计及单据显示\n\t\t\t5.退出\n");printf("\n\t\t\t请输入您的选择:");GOTO8:scanf("%d",&choice);switch(choice){case 1:m_user();system("pause");goto GOTO7;case 2:p_she();system("pause");goto GOTO7;case 3:p_shou();system("pause");goto GOTO7;case 4:p_cha();system("pause");goto GOTO7;case 5:break;default:printf("\n您的输入有误,请重新输入:");goto GOTO8;}/*住户管理*/void m_user(){int choice=0;GOTO3:system("cls");printf("\t\t\t---------------------\n");printf("\t\t\t| 住户管理^_^ |\n");printf("\t\t\t---------------------\n\n\n");printf("\n\t\t\t1.住户基本数据管理\n\t\t\t2.缴费状态查询\n\t\t\t3.数据结转\n\t\t\t4.退出");printf("\n\t\t\t请输入您的选择:");GOTO4:scanf("%d",&choice);switch(choice){case 1:display1();system("pause");goto GOTO3;case 2:situation();system("pause");goto GOTO3;case 3:turn();system("pause");;goto GOTO3;case 4:break;default:printf("\t\t\t输入有误,请重新输入:");goto GOTO4;}}/*住户基本数据管理*/void display1(){int choice=0;GOTO1:system("cls");printf("\t\t\t---------------------\n");printf("\t\t\t| 住户管理^_^ |\n");printf("\t\t\t---------------------\n\n\n");printf("\n\t\t\t1.显示用户信息\n\t\t\t2.添加用户\n\t\t\t3.修改用户信息\n\t\t\t4.删除用户信息\n\t\t\t5.退出");printf("\n\t\t\t请输入您的选择:");GOTO2:scanf("%d",&choice);switch(choice){case 1:display();system("pause");goto GOTO1;case 2:add();system("pause");goto GOTO1;case 3:alter();system("pause");;goto GOTO1;case 4:delete_();system("pause");;goto GOTO1;case 5:break;default:printf("\t\t\t输入有误,请重新输入:");goto GOTO2;}}/*显示用户信息*/void display(){int n;/*确定当前用户的人数*/int i;for(n=0;n<100;n++)if(u[n].monney==0) break;if(n==0)printf("系统无用户,需要添加!^_^\n");elsefor(i=0;i<n;i++)printf("\n编号:%d\t姓名:%s\tID:%s\t用水量:%.1f吨\t用电量:%.1f度\n",i+1,u[i].name,u[i].ID,u[i].water,u[i].electricity);}/*添加用户*/void add(){int n;/*确定当前用户的人数*/for(n=0;n<100;n++)if(u[n].monney==0) break;printf("\t\t\t请输入新用户的姓名:");scanf("%s",u[n].name);printf("\t\t\t请输入新用户的ID(18位):");scanf("%s",u[n].ID);printf("\t\t\t请输入新用户的用水量:");scanf("%lf",&u[n].water);printf("\t\t\t请输入新用户的用电量:");scanf("%lf",&u[n].electricity);u[n].monney=(u[n].water)*w+(u[n].electricity)*e;printf("\n添加成功!\n");}/*修改用户信息*/void alter(){char name[10];int n;/*确定当前用户的人数*/int i;printf("\t\t\t请输入您的姓名:");scanf("%s",name);for(n=0;n<100;n++)if(u[n].monney==0) break;for(i=0;i<n;i++)if(strcmp(u[i].name,name)==0){int choice=0;printf("\n\t\t\t1.修改ID\n\t\t\t2.修改用水量\n\t\t\t3.修改用电量\n\t\t\t4.退出\n");printf("\n\t\t\t请输入您的选择:");GOTO1:scanf("%d",&choice);switch(choice){case 1:printf("\n\t\t\t请输入ID:");scanf("%s",u[i].ID);break;case 2:printf("\n\t\t\t请输入用水量:");scanf("%lf",&u[i].water);break;case 3:printf("\n\t\t\t请输入用电量:");scanf("%lf",&u[i].electricity);break;case 4:break;default:printf("\t\t\t输入错误,请重新输入:");goto GOTO1;}printf("\n修改成功!\n");break;}if(i==n)printf("\n\t\t\t没有此用户,您可以选择注册新用户^_^!\n"); }/*删除用户*/void delete_(){int n,i=0,j;for(n=0;n<100;n++)if(u[n].monney==0) break;display();printf("\n\t\t\t请输入要删除用户对应的编号:");scanf("%d",&i);for(j=i-1;j<n;j++){strcpy(u[j].name,u[j+1].name);u[j].electricity=u[j+1].electricity;strcpy(u[j].ID,u[j+1].ID);u[j].monney=u[j+1].monney;u[j].water=u[j+1].water;}u[n-1].monney=0;printf("删除成功!^_^\n");}。
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级计维姓名:学号:2014年7 月20日目录一.设计任务及内容 (1)二.设计说明 (1)三.设计的优缺点 (2)四.设计心得与体会 (3)五.程序部分及程序原代码 (3)六.执行结果 (9)水电费管理设计报告一.设计任务及内容【目的】:1.掌握C语言程序的综合运用2.了解系统设计的基本原理3.掌握结构化程序的基本思想【设计要求】1.编写一个菜单实现驱动水电管理系统程序(要求使用VC++6.0),实现相关功能。
2.本系统的总体思想基于结构化的程序设计,运用高级语言程序设计中的基本控制结构,着重实现管理系统的增加、删除、修改、查看等典型的管理系统3.水电费管理系统是为管理员进行用户成员用水电量及缴费信息管理进行计算、统计、记录的运用软件,其功能如下:(1)给管理员提供功能选择界面,该系统只针对管理员,所以无需登录,直接进入功能选择界面,功能选择界面包括输入功能选项,调用相应程序两大需求。
(2)管理用户信息:管理员可操作添加、查看、修改、删除用户信息,包括姓名、地址、用水量、用电量。
(3)查看用户缴费信息:可以查看每个用户应缴费的水费、电费,系统默认水费为2元/吨,电费为0.8元/度。
(4)统计总用费:可以统计总的电费、水费及总费用,便于收缴费用户进行检查、核实,以免出错。
二.设计说明(一)、水电费管理可分为3大模块1.用户管理2.功能选择3.用户缴费查看1(二)、流程图三.设计的优缺点优缺点有:1. 方便管理员管理用户的信息2. 保密性强、检索迅速、查找方便等3. 由于可以管理范围大,地址是应用输入,不能进行选择,所以加大管理员的工作量4. 只能输入一个月的信息,如果多次输入同一个用户的信息,则显2示最后输入信息,因为先前输入的信息已被覆盖。
虽然需要改进的地方很多,做的也不完美,但还可以对用户信息管理四、设计心得与体会:在科技高度发展的今天,计算机在人们生活的作用越来越突出。
小区水电费管理系统

#include<stdio.h>#include<string.h>#include<stdlib.h>#define w 1.8/*水1.8元/吨*/#define e 0.5/*电0.5元/度*/struct user{char name[10],ID[20];/*用户的姓名和身份证号码*/double water,electricity;/*用水(吨)、电(度)量*/double monney;/*总共的水电费用*/}u[100];/*用户最大容量为100*/void main(){int choice=0;GOTO7:system("cls");printf("\t\t\t-----------------------------------\n");printf("\t\t\t| 欢迎进入水电费管理系统^_^ |\n");printf("\t\t\t-----------------------------------\n\n\n");printf("\n\t\t\t1.住户管理\n\t\t\t2.单价设置\n\t\t\t3.费用收取\n\t\t\t4.费用查询统计及单据显示\n\t\t\t5.退出\n");printf("\n\t\t\t请输入您的选择:");GOTO8:scanf("%d",&choice);switch(choice){case 1:m_user();system("pause");goto GOTO7;case 2:p_she();system("pause");goto GOTO7;case 3:p_shou();system("pause");goto GOTO7;case 4:p_cha();system("pause");goto GOTO7;case 5:break;default:printf("\n您的输入有误,请重新输入:");goto GOTO8;}/*住户管理*/void m_user(){int choice=0;GOTO3:system("cls");printf("\t\t\t---------------------\n");printf("\t\t\t| 住户管理^_^ |\n");printf("\t\t\t---------------------\n\n\n");printf("\n\t\t\t1.住户基本数据管理\n\t\t\t2.缴费状态查询\n\t\t\t3.数据结转\n\t\t\t4.退出");printf("\n\t\t\t请输入您的选择:");GOTO4:scanf("%d",&choice);switch(choice){case 1:display1();system("pause");goto GOTO3;case 2:situation();system("pause");goto GOTO3;case 3:turn();system("pause");;goto GOTO3;case 4:break;default:printf("\t\t\t输入有误,请重新输入:");goto GOTO4;}}/*住户基本数据管理*/void display1(){int choice=0;GOTO1:system("cls");printf("\t\t\t---------------------\n");printf("\t\t\t| 住户管理^_^ |\n");printf("\t\t\t---------------------\n\n\n");printf("\n\t\t\t1.显示用户信息\n\t\t\t2.添加用户\n\t\t\t3.修改用户信息\n\t\t\t4.删除用户信息\n\t\t\t5.退出");printf("\n\t\t\t请输入您的选择:");GOTO2:scanf("%d",&choice);switch(choice){case 1:display();system("pause");goto GOTO1;case 2:add();system("pause");goto GOTO1;case 3:alter();system("pause");;goto GOTO1;case 4:delete_();system("pause");;goto GOTO1;case 5:break;default:printf("\t\t\t输入有误,请重新输入:");goto GOTO2;}}/*显示用户信息*/void display(){int n;/*确定当前用户的人数*/int i;for(n=0;n<100;n++)if(u[n].monney==0) break;if(n==0)printf("系统无用户,需要添加!^_^\n");elsefor(i=0;i<n;i++)printf("\n编号:%d\t姓名:%s\tID:%s\t用水量:%.1f吨\t用电量:%.1f度\n",i+1,u[i].name,u[i].ID,u[i].water,u[i].electricity);}/*添加用户*/void add(){int n;/*确定当前用户的人数*/for(n=0;n<100;n++)if(u[n].monney==0) break;printf("\t\t\t请输入新用户的姓名:");scanf("%s",u[n].name);printf("\t\t\t请输入新用户的ID(18位):");scanf("%s",u[n].ID);printf("\t\t\t请输入新用户的用水量:");scanf("%lf",&u[n].water);printf("\t\t\t请输入新用户的用电量:");scanf("%lf",&u[n].electricity);u[n].monney=(u[n].water)*w+(u[n].electricity)*e;printf("\n添加成功!\n");}/*修改用户信息*/void alter(){char name[10];int n;/*确定当前用户的人数*/int i;printf("\t\t\t请输入您的姓名:");scanf("%s",name);for(n=0;n<100;n++)if(u[n].monney==0) break;for(i=0;i<n;i++)if(strcmp(u[i].name,name)==0){int choice=0;printf("\n\t\t\t1.修改ID\n\t\t\t2.修改用水量\n\t\t\t3.修改用电量\n\t\t\t4.退出\n");printf("\n\t\t\t请输入您的选择:");GOTO1:scanf("%d",&choice);switch(choice){case 1:printf("\n\t\t\t请输入ID:");scanf("%s",u[i].ID);break;case 2:printf("\n\t\t\t请输入用水量:");scanf("%lf",&u[i].water);break;case 3:printf("\n\t\t\t请输入用电量:");scanf("%lf",&u[i].electricity);break;case 4:break;default:printf("\t\t\t输入错误,请重新输入:");goto GOTO1;}printf("\n修改成功!\n");break;}if(i==n)printf("\n\t\t\t没有此用户,您可以选择注册新用户^_^!\n"); }/*删除用户*/void delete_(){int n,i=0,j;for(n=0;n<100;n++)if(u[n].monney==0) break;display();printf("\n\t\t\t请输入要删除用户对应的编号:");scanf("%d",&i);for(j=i-1;j<n;j++){strcpy(u[j].name,u[j+1].name);u[j].electricity=u[j+1].electricity;strcpy(u[j].ID,u[j+1].ID);u[j].monney=u[j+1].monney;u[j].water=u[j+1].water;}u[n-1].monney=0;printf("删除成功!^_^\n");}。
计算机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)。
#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();}。