C语言水电费管理系统设计
- 格式:doc
- 大小:318.00 KB
- 文档页数:13
通信与信息工程学院面向对象技术课程设计一、课程设计目的(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、程序设计要求1、基本功能:设计一个高校水电管理信息系统,能够对高校的水电费用进行管理,包括登记费用、查询费用和住户信息管理等。
完成如下功能:⑴实现对用户信息的录入。
⑵实现水电数据的录入。
⑶计算并查询用户应缴费用。
(4)显示当前系统中所有学生和教工的记录(5)可根据查询结果对相应的记录进行修改(6)计算电费和水费。
2、程序主菜单:教师水电费管理,学生水电费管理,退出系统三个选项3、设计流程图:画出本程序的总体设计流程图(手画)4、功能框图:画出本程序的功能框图(手画)三、程序功能设计1、功能设计:添加功能查询功能显示功能编辑功能删除功能统计功能保存功能读取功能计算水费和电费2、组员分工:赵政类的定义马晶晶史娟丽杨洁功能的实现姜田茹界面设计设计思路:1、在主函数中通过分支选择实现不同的功能。
2、在菜单函数中,通过设计界面与用户进行交互。
3、定义一个使用者类,在类的内部定义各种函数,实现显示、修改、删除、查询、统计用户信息等功能。
四、程序数据结构(手写)五、程序函数设计(手写)六、程序源代码(此部分可打印)七截图(手写)八心得(手写)附录:程序源代码#include<iostream>#include<string>const int TMAX=50;using namespace std;class Personpublic:int num;string name;string sex;int age;double water;double power;public:Person(int n=0,string nm="",string s="",int a=0,double w=0.0,double p=0.0)num=n;name=nm;sex=s;age=a;water=w;power=p;virtual void Input(){};virtual void Output(){};int GetNum(){return num;}string GetName(){return name;}double GetWater(){return water;}double GetPower(){return power;}class Teacher:virtual public Personpublic:string depart;double watermoney;double powermoney;int choice1;int choice2;public:Teacher(int n=0,string nm="",string s="男",int a=0,string d="任课教师",double w=0.0, double p=0.0, double wm=0.0, double pm=0.0) :Person(n,nm,s,a,w,p),depart(d)watermoney=wm;powermoney=pm;void Input()cout<<"请输入编号:"<<endl;cin>>num;cout<<"请输入姓名:"<<endl;cin>>name;cout<<"请选择性别:";cout<<"(1.男 2.女)"<<endl;cout<<"请输入你的选择"<<endl;cin>>choice2;switch(choice2)case 1:sex="男";break;case 2:sex="女";break;default:cout<<"输入错误。
简易水电费管理系统源程序代码法一:#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;}}}。
课程设计教师工资管理系统运行平台:VC6.0(其他平台未经测试,不一定保证有效)制作者:弓箭中南大学信息科学与工程学院源代码如下:#include 〈stdio.h>#include 〈stdlib。
h〉#include 〈string.h>#include <conio。
h>#define LEN sizeof(struct teacher)struct teacher{int num;char name[20];char sex[20];char workplace[50];char address[50];long phone;double de_salary;double de_jintie;double de_shenghuobutie;double yingfa_salary;double cost_phone;double cost_water_elec;double cost_rent;double cost_tax;double cost_weisheng;double cost_gongjijin;double cost_all;double shifa_salary;struct teacher *next;};/***********************************读取函数************************************/struct teacher *load(){struct teacher *p1,*p2,*head;FILE *fp;int i=1;if((fp=fopen(”save",”rb"))==NULL){printf(" 文件不存在!按下任意键返回主菜单。
.。
”);getch();return (NULL);}else{head=NULL;p1=(struct teacher *)malloc(LEN);while (fread(p1,LEN—4,1,fp)==1){if(i==1){head=p1;p2=p1;i=2;}else{p2—〉next=p1;p2=p2->next;}p1=(struct teacher *)malloc(LEN);}p2->next=NULL;free(p1);fclose(fp);return(head);}}/**********************************欢迎菜单函数*************************************/void welcome(){printf(”\n\n\n 〉>>>>欢迎使用教师工资管理系统Beta1.2〈<<〈<\n”);printf(” *******************************************************\n”);printf(”* C语言课程设计教师工资管理系统*\n”);printf(”*班级: 电气信息类1001班学号:0909100119 *\n”);printf(”*姓名:弓箭*\n");printf(" *******************************************************\n”);printf(”\n\n 按下任意键进入系统..。
计算机操作系统课程设计任务书课程设计报告课程名称数据库原理课题名称学生宿舍水电费管理系统专业软件工程班级学号姓名指导教师2014年 05 月 12 日一、系统定义1.1 目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。
几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了日常任务的工作量。
该课程设计要求设计一个学生宿舍水电费的数据库管理系统,数据库中要求包含学生宿舍的基本信息,抄表信息。
要能够方便计算水电费、统计水电费使用情况,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。
1.2项目范围项目范围:计算水电费、统计水电费;超出范围:学生在线查询水电费、自动抄表。
二、需求分析2.1 系统综合需求xx大学有多栋学生宿舍楼,每栋宿舍楼的宿舍具有自己的编号,一个宿舍成员可能来自不同的班级,一个宿舍最多住8个人。
每个宿舍都一块水表和一块电表,水电定额使用,超过定额要付费,学校给每个人的电定额10度/月,水定额4吨/月,超出部分按宿舍缴纳,如果未超出将节约量折合成水电费计入结余;学校的后勤集团每个月抄表一次,抄表后会给每个宿舍水电费通知单,如果水电费超出定额,需要交费,如不交费将停电或停水。
水电定额使用,超用量要付费,节约用量可返还水电费(返还部分打入结余)。
附表为水电费通知单、水电费、水电量统计表。
5-101宿舍水电费通知单宿舍号:5-101 抄表员号:21 日期:2013年8月应交费用 = (用水量- 用水定额)*水价+(用电量-用电定额)*电价如果实缴费用+结余大于应交费用,则多余费用自动转入上期结余系统应能够:1)后勤集团可以输入每个宿舍的水电表表底并由计算机自动计算结果、查看和打印每个宿舍水电费通知单。
2)可以按宿舍号、日期查看宿舍水电交费交费情况。
3)统计所有宿舍每个月水电使用情况、水电费情况2013-8月份用水用电情况月份:2013-082013-8月份水电交费情况月份:2013-08设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
简易水电费管理系统源程序代码法一:#include〈stdio.h>#include<string。
h>#include<stdlib.h〉struct member{char no[100];char name[20];char password[20];float wfee;float efee;}memb;void newadd(int n){ int t,i;fseek(fp,0,SEEK_END);printf(”〉〉新添人数:");scanf(”%d”,&t);for(i=0;i〈t;i++){printf("新添第%d个成员:”);scanf(”%s %s %s %f %f",memb.no,memb。
name,memb。
password,memb.wfee,memb。
efee);fwrite(&memb,sizeof(struct member),1,fp);}}void look(int n){ char a[100];printf(”〉〉输入卡号:”);scanf("%s",a);int i=0;rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)||memb。
no==a)break;i++;}if(!feof(fp)){ printf(">〉卡号:”);printf("%s\n”,memb.no);printf(”〉〉姓名:”);printf(”%s\n”,memb。
name”);printf("〉〉水费:”);printf(”%f\n”,memb。
wfee);printf(”>〉电费:”);printf(”%f\n",memb.efee);}elseprintf(">〉查无此人\n”);};void delete(int n){ char c[100];printf("〉〉删除的卡号:");scanf(”%s,” c);if((fp1=fopen("temp.bin”,"wb”))==NULL){printf(”〉>不能建立临时文件,无法删除\n");}rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)) break;if(memb.no!=c)fwrite(&memb,sizeof(struct member),1,fp1);}fclose(fp1);fclose(fp);remove("member。
水电费管理制度(4篇)水电费管理制度(精选4篇)水电费管理制度篇1为了加强我公司的水电管理,减少浪费,树立节电、节水意识。
按照“计量准确、按表收费、强化管理、减少浪费、改善服务”的原则,制定本办法。
1、公司职工住宅用水电费:由物业管理中心抄表,由财资科每季度从工资中扣缴,工资关系不在公司的人员由物业管理中心上门收取。
职工电费按0.3元/度、水费按0.4元/度收取,协解人员电费按0.4元/度收取、水费按0.5元/度收取,其他电费按0.6元/度、水费按0.8元/度收取。
2、公司内承包单位、经济实体,如车队、液化气公司,所使用的水电费。
由物业管理中心抄表使用部门到财资科缴费。
电费按0.6元/度、水费按0.8元/度收取。
3、公用楼梯间及过道的路灯,只允许使用40W以下的灯泡,4、对拖欠水电费的用户和部门,物业管理中心提前书面通知到用户和部门,送达五日后仍不补交清的,由物业管理中心停水停电。
5、物业管理中心按季抄表,并及时向职工公布。
6、物业管理中心要加强安全用电、用水的监督和管理,对私搭乱接、偷用水电等行为,按照有关规定严肃处理。
7、杂物房用电要注意安全,按规定除照明以外,不能使用其他大功率电器,不能开长明灯。
如违反规定造成事故,由违规当事人承担一切责任。
8、物业管理中心要进一步改变服务态度,提高服务质量,加强日常管理和宣传工作,努力做到“计量准确、收费合理、服务到位”。
水电费管理制度篇2水电是生产、员工工作和生活等最基本的必不可缺少的物质资源。
为加强管理,保证水电设备安全、正常运行,合理使用,减少浪费,维护正常的生产、员工工作和生活秩序,使全体职员工养成安全用电、节约用电、节约用水的良好习惯,结合我公司的实际情况,特制定本规定。
第一条公司的水电设施包括水龙头、高低水箱、阀门、管道,消防栓,灯泡、日光灯、插座、开关、路灯等。
是公司固定资产的一部分,由行政部和使用部门共同管理,使用部门负责日常管理,行政部负责维修和安全检查,并遵循“谁使用,谁保管,谁损坏,谁赔偿”的管理原则。
简易水电费管理系统源程序代码法一:#include<stdio.h>#include<string.h>#include<stdlib.h>struct member{char no[100];char name[20];char password[20];float wfee;float efee;}memb;void newadd(int n){ int t,i;fseek(fp,0,SEEK_END);printf(">>新添人数:");scanf("%d",&t);for(i=0;i<t;i++){ printf("新添第%d个成员:");scanf("%s %s %s %f %f",memb.no,,memb.password,memb.wfee,memb.efee); fwrite(&memb,sizeof(struct member),1,fp);}}void look(int n){ char a[100];printf(">>输入卡号:");scanf("%s",a);int i=0;rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)||memb.no==a) break;i++;}if(!feof(fp)){ printf(">>卡号:");printf("%s\n",memb.no);printf(">>姓名:");printf("%s\n",");printf(">>水费:");printf("%f\n",memb.wfee);printf(">>电费:");printf("%f\n",memb.efee);}elseprintf(">>查无此人\n");};void delete(int n){ char c[100];printf(">>删除的卡号:");scanf("%s," c);if((fp1=fopen("temp.bin","wb"))==NULL){printf(">>不能建立临时文件,无法删除\n");}rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)) break;if(memb.no!=c)fwrite(&memb,sizeof(struct member),1,fp1);}fclose(fp1);fclose(fp);remove("member.bin");rename("temp.bin","member.bin");fp=fopen("member.bin","rb++");};main(){ char a[100]; char b[20];FILE *fp;printf("欢迎进入水电费管理系统\n")int i=0,sel=1;if((fp=fopen("member.bin","wb++"))==NULL){ printf(">>不能建立member.bin文件\n");return(0);}while(sel!=0){ printf("| 1 | 2 | 3 | 4 |\n");printf("| ------------------------------------------------------------ |\n"); printf("|新添成员 |查找个人信息 |删除成员 |退出 |\n); fseek(fp,0,SEEK_END);scanf("%d",&sel);switch(sel){ case 1:newadd(sel); break;clscr(); exit(0);case 2:printf("请输入您的卡号:");printf("%s",a);printf("请输入您的密码:");puts(b);while(strcmp(a,memb.no)==0&&strcmp(b,memb.password)==0)look(sel);printf("您的输入有误\n"); break;clscr();exit(0);case 3:delete(sel); break;clscr();exit(0);}法二:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<windows.h>#include<conio.h>struct member{char no[100];char name[20];char password[20];float wfee;float efee;}memb;void newadd(int n){ int t,i;FILE *fp;fp=fopen("e:\\member.bin","a");fseek(fp,0,SEEK_END);printf(">>新添人数:");scanf("%d",&t);for(i=0;i<t;i++){ printf("新添第%d个成员:",i+1);scanf("%s %s %s %f %f",memb.no,,memb.password,&memb.wfee,&memb.efee); fwrite(&memb,sizeof(struct member),1,fp);}fclose(fp);}void look(int n){ char a[100],b[20]; FILE *fp;int i;fp=fopen("e:\\member.bin","rb");if(fp==NULL) printf("****");printf(">>输入卡号:");scanf("%s",a);i=0;rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp);if(feof(fp)||strcmp(memb.no,a)==0) break;i++;}if(!feof(fp)){ printf(">>卡号:");printf("%s\n",memb.no);printf(">>姓名:");printf("%s\n",);printf(">>水费:");printf("%f\n",memb.wfee);printf(">>电费:");printf("%f\n",memb.efee);}elseprintf(">>查无此人\n");getch();fclose(fp);}void dele(int n){ char c[100];FILE *fp,*fp1;fp=fopen("e:\\member.bin","rb");printf(">>删除的卡号:");scanf("%s" ,c);if((fp1=fopen("temp.bin","wb"))==NULL){printf(">>不能建立临时文件,无法删除\n");}rewind(fp);while(1){ fread(&memb,sizeof(struct member),1,fp); if(feof(fp)) break;if(strcmp(memb.no,c)!=0)fwrite(&memb,sizeof(struct member),1,fp1);} fclose(fp1);fclose(fp);remove("member.bin");rename("temp.bin","member.bin");fp=fopen("member.bin","rb+");}main(){ char a[100]; char b[20];int i=0,sel=1;FILE *fp;printf("欢迎进入水电费管理系统\n");if((fp=fopen("e:\\member.bin","wb"))==NULL){ printf(">>不能建立member.bin文件\n");return(0);}while(sel!=0){ printf("| 1 | 2 | 3 | 4 |\n");printf("| ------------------------------------------------------------ |\n"); printf("|新添成员 |查找个人信息 |删除成员 |退出 |\n"); fseek(fp,0,SEEK_END);scanf("%d",&sel);printf("sel=%d\n",sel);switch(sel){ case 1:newadd(sel);system("cls"); break;case 2:look(sel);system("cls"); break;case 3:dele(sel);system("cls");break;}}}。
毕业设计水电收费管理系统设计1 绪论水电收费管理系统为水电收费管理人员日常工作的抄表、报表生成、费用计算等提供充足的信息和快捷的查询手段。
其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
利用Delphi ,建立完整性强、安全性好的数据库,开发出功能完备,易使用的应用程序。
经过调试、编译与实现,该程序界面友好、程序设计风格朴素,使用起来美观大方、方便易用。
尤其是系统的“报表生成模块”极大的减轻工作人员的工作量,并以快速、准确等优点取代人工操作,提高了水电管理工作效率。
研究背景随着改革开放的深入发展,社会主义市场经济的建立,人们越来越认识到市场的竞争,归根到底是商品的竞争,而商品的竞争,归根到底是技术的竞争、人才的竞争。
特别是当今世界已进入高科技时代,物业管理要创一流水平,体现一流质量,实现现代化管理势在必行[1]。
一个能够使其实现管理规范化,自动化的计算机系统就显得很必要。
本次设计采用Delphi为开发工具,来实现水电费收费管理的功能。
水电收费管理系统是用计算机管理水电收费管理人员收取辖区内用户费用的一种计算机应用技术的创新,在计算机还未普及之前水电收费管理都是由工作人员人工书写,调阅的方式来操作的[2]。
现在一般的水电管理都采用计算机智能化管理,采用计算机作为工具的实用的计算机网络化管理程序来帮助前台管理员进行更有效的水电管理工作。
水电管理系统是典型的信息管理系统(MIS)。
该系统将复杂的水电收缴管理进行归纳、分析、总结,再转化成计算机的工作,采用面向对象的编程思想,从具体的管理及业务角度出发,进行编程和设计,实现用户信息管理、水电管理、水电查询、欠水费管理及查询的计算机网络化,信息化。
为提高工作效率和管理质量、提供优质服务奠定基础。
该系统采用客户/服务器(C/S)体系结构,其特点是把整个系统分成前台(客户机)和后台(主机)两个部分。
前台客户机也就是操作员直接操作的微机;后台是中心机房管理的主机。
C语⾔课程设计参考题⽬及要求C语⾔课程设计参考设计题⽬1、学⽣信息管理(1)问题描述学⽣信息包括:学号,姓名,年龄,性别,出⽣年⽉,地址,电话,E-mail等。
试设计⼀学⽣信息管理系统,使之能提供以下功能:●系统以菜单⽅式⼯作●学⽣信息录⼊功能(学⽣信息⽤⽂件保存)---输⼊●学⽣信息浏览功能——输出●查询、排序功能——算法1、按学号查询2、按姓名查询●学⽣信息的删除与修改(可选项)(2)功能要求●界⾯简单明了;●有⼀定的容错能⼒,⽐如输⼊的成绩不在0~100之间,就提⽰不合法,要求重新输⼊;●最好⽤链表的⽅式实现。
(3)算法分析⾸先,⼀个学⽣包括这么多的属性,应该考虑定义⼀个结构,其次,我们应该考虑数据的存储形式:是定义⼀个数组来存储,还是定义⼀个链表呢?在这⾥假如我们以数组的⽅式来存储,当然可以,但是我们知道,假如我们定义⼀个数组的话,我们⾸先必须知道学⽣⼈数⼤概是多少,以便我们确定数组的⼤⼩,但是题⽬中没有给出,⽽且题⽬要求中有⼤量的删除、插⼊操作,所以⽤链表的⽅式⽐较⽅便。
对于菜单的实现,其实也⽐较简单,⾸先我们⽤printf语句把程序的功能列出来,然后等待⽤户输⼊⽽执⾏不同的函数,执⾏完了⼀个功能后⼜回到菜单。
⽂件的读写操作⼤家参照书中的有关⽂件的章节。
2、学⽣综合测评系统每个学⽣的信息为:学号、姓名、性别、家庭住址、联系电话、语⽂、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学⽣信息处理(1) 输⼊学⽣信息、学号、姓名、性别、家庭住址、联系电话,按学号以⼩到⼤的顺序存⼊⽂件中。
提⽰:学⽣信息可先输⼊到数组中,排序后可写到⽂件中。
(2) 插⼊(修改)同学信息:提⽰:先输⼊将插⼊的同学信息,然后再打开源⽂件并建⽴新⽂件,把源⽂件和输⼊的信息合并到新⽂件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提⽰:输⼊将删除同学号,读出该同学信息,要求对此进⾏确认,以决定是否删除将删除后的信息写到⽂件中。
软件技术设计报告书 题 目: 水电费管理系统设计 系 部: 信工系 专 业: 计算机系统维护 班 级: 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
开始 用户管理
退出 显示用户信息 增加用户 修改用户信息
删除用户信息 退出
总费用 退出
收费管理 用户缴费信息查询 总水费 总电费 示最后输入信息,因为先前输入的信息已被覆盖。 虽然需要改进的地方很多,做的也不完美,但还可以对用户信息管理 四、设计心得与体会:
在科技高度发展的今天,计算机在人们生活的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。 虽然我学的专业是与计算机相关,但对计算机不太了解,而且我C语言没学好,我只掌握了基本知识。只是基本而已,对于不感兴趣的东西没能坚持学完和没能深入的了解。而在课堂上讲过许多关于c语言的语法规则,但感觉听起来十分枯燥无味,也不容易记住,死记硬背也不知其原理和运用,这时真是感觉书到用时方觉少,好多都不懂,然后我只能逼自己去看教材上的例题,虽然文件链表之类的依然茫然,但基本有了思绪。于是我开始尝试用结构体、循环体、数组等。然而要使用c语言这个工具解决实际问题,困难重重。所以在这次的管理设计中,从编程到执行中,程序出现错误,而提醒错误的地方偏偏是英文,这可难为到我了,所以我找同学帮忙,最后在同学的帮助下最终完成了。虽然过程出现许多的障碍,但自己一次又一次的不放弃,终于调试出来,那种成功感是无法比拟的,课程设计结束了,但是这段时间里,我又学到了更多C 知识, 同时我也被提醒以后办事的时候要认真,仔细,考虑周全。这次的学习让我知道了我太多的不足,但我会尽量的去改善,让自己变得更好。
五.程序部分源程序代码 1、 C语言 程序设计(第二版)2、C语言 程序设计学习辅导 2、#include
#include #include #define w 2/*水2元/吨*/ #define e 0.8/*电0.8元/度*/ struct user{ char name[10],ID[20];/*用户的姓名和地址*/ double water,electricity;/*用水(吨)、电(度)量*/ double monney;/*总共的水电费用*/ }u[200];/*用户最大容量为100*/ /*显示用户信息*/ void display(){ int n;/*确定当前用户的人数*/ int i; for(n=0;n<200;n++) if(u[n].monney==0) break; 3 if(n==0) printf("系统无用户,需要添加!^_^\n"); else for(i=0;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<200;n++) if(u[n].monney==0) break; printf("请输入用户的姓名:"); scanf("%s",u[n].name); printf("请输入用户的地址:"); scanf("%s",u[n].ID); printf("请输入用户的用水量:"); scanf("%lf",&u[n].water); printf("请输入用户的用电量:"); scanf("%lf",&u[n].electricity); u[n].monney=(u[n].water)*w+(u[n].electricity)*e; printf("\n添加成功!\n"); } /*修改用户信息*/ void alter(){ char name[30]; int n;/*确定当前用户的人数*/ int i; printf("请输入您的姓名:"); scanf("%s",name); for(n=0;n<200;n++) if(u[n].monney==0) break; for(i=0;i if(strcmp(u[i].name,name)==0){ int choice=0; printf("1.修改地址 2.修改用水量 3.修改用电量 4.退出\n"); printf("请输入您的选择:"); 4 GOTO1:scanf("%d",&choice); switch(choice) { case 1: printf("请输入地址:"); scanf("%s",u[i].ID); break; case 2: printf("请输入用水量:"); scanf("%lf",&u[i].water); break; case 3: printf("请输入用电量:"); scanf("%lf",&u[i].electricity); break; case 4: break; default: printf("输入错误,请重新输入:"); goto GOTO1; } printf("\n修改成功!\n"); break; } if(i==n) printf("没有此用户,您可以选择注册新用户!\n"); } /*删除用户*/ void delete_(){ int n,i=0,j; for(n=0;n<100;n++) if(u[n].monney==0) break; display(); printf("请输入要删除用户对应的编号:"); scanf("%d",&i); for(j=i-1;j strcpy(u[j].name,u[j+1].name); 5 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"); } /*用户管理*/ void m_user(){ int choice=0; GOTO2:system("cls"); printf("\t\t\t************************\n"); printf("\t\t\t| 用户管理 |\n"); printf("\t\t\t*************************\n\n\n");
printf("1.显示用户信息 2.添加用户 3.修改用户信息 4.删除用户信息 5.退出"); printf("\n\t\t\t请输入您的选择:"); GOTO3:scanf("%d",&choice); switch(choice) { case 1: display(); system("pause"); goto GOTO2; case 2: add(); system("pause"); goto GOTO2; case 3: alter(); system("pause");; goto GOTO2; case 4: delete_(); system("pause");; 6