已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计报告( 2010 / 2011 学年 第 二 学期)题 目: 小区物业管理系统 专 业 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 计算机软件教学中心 日 期 2011.3.11 评 分 细 则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名: 年 月 日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格小区物业管理系统一、课题内容和要求:【问题描述】 该系统要求建立某小区物业管理系统,并具有排序、查找、计算、显示等功能。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。【功能要求】 (1)物业管理信息应包括: 小区资料(小区名称,楼宇总数等),房型资料(房型编号、房型、建筑面积等),住户资料(住户编号、住户姓名、联系电话、联系地址、预付金额、欠费金额等),住户报修管理,住户投诉管理,住户停车车位管理(车位编号,住户信息等),住户物业收费管理(收费名称、收费金额、收费单位、收费周期等)等。 (2)需要实现的功能1) 用户需要输入口令进入物业管理系统2) 实现物业管理信息的建立3) 计算小区的房型种类,查询住户的欠费状况4) 显示住户投诉报表和住户报修报表5) 按照欠费金额进行排序,显示用户相关信息6) 查找住户的车位信息7) 将小区的所有相关信息内容存为文件。 (3)输入信息符合逻辑如收费周期应至少以月为单位。二、需求分析:1、物业管理的发展成因 (1)住宅建设迅猛发展,大量住宅小区投入使用。改革开放以来,住宅建设飞速发展。我国城镇现有住宅已近80亿平方米。仅79年至99年城镇新建住宅52.5亿平方米。大量住宅小区投入使用,带来了管理工作的变化。除了对房屋进行维修外,还必须对附属物、设备、场地、环卫绿化、道路、治安进行专业化管理,以保持新建住区的完好,发挥其整体功能和综合效益。国外和香港对住宅区和其它物业实施专业化管理的经验被引入,取得了较好的效果,带动了全国物业管理工作的起步和发展。 (2)住房制度改革的逐步深化。随着房改的步步深化,城镇居民住房自有率已经超过75%,形成一个住区内,一幢房子里的产权多元化格局。房管所及单位房管处(科)的2、现行系统存在问题的分析该小区的管理工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解小区内部各处的信息,也不方便工作人员之间彼此的交流,不便于动态及时地了解概况,以便更好地适应当前小区的管理需求。手工管理还存在这许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。3、解决方案基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整小区物业管理整体结构,并且对整个信息进行动态管理就十分必要了。 小区物业信息系统的建立,需要进行对住户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。三、概要设计:!采用分块设计:分为主函数,登陆,收费,用户管理等多模块第一步:(权限登录)1.管理员 2.住户 0.退出 第二步:(若是管理员) 1.登录 2.注册 0.返回上一目录 (1).(若是登录)1) 小区、房型资料:小区名称,楼宇总数;房型编号,种类,面积; 2) 用户、报修资料:用户的添加,查看,选择,删除; 3)停车车位管理:查看车位; 4)物业收费管理:添加收费项目,按收费金额排序,删除收费 0)返回上一目录 (2)(若是注册)按提示输入即可第三步:(若是住户)1. 输入帐号(姓名)和密码(电话号码);2. 报修投诉管理;四、源程序代码:主函数的主要内容:int main() int a,b,c,d; char *e;printf(欢迎进入小区物业管理系统 n);repeat:printf(请选择登陆权限n);printf(1、管理员 2、住户 0、退出程序 n);printf((说明:管理员必须先录入住户信息,住户方可登陆)n);repeat1:scanf(%d, &a); Newfolder();switch(a) repeat2:case 1: printf(1、登陆2、注册0、返回上一级目录 n); scanf(%d,&b); switch(b) case 1:c=Enter(); if(c=1)repeat3:printf(1、小区、房型资料2、用户、报修资料 3、停车车位管理 4、物业收费管理 0、返回上级目录 n); scanf(%d,&d); switch(d) case 1:Village(); goto repeat3; case 2:Man();goto repeat3; case 3:Stall(); goto repeat3; case 4: Property();goto repeat3; case 0:goto repeat2; default: goto repeat3; Else goto repeat; case 2: Register(); goto repeat2; case 0: goto repeat; default: printf(请选择!); goto repeat2; case 2: e=Yonghu();if(strcmp(e,hello)!=0) Zhuhu(e); Else printf(用户登陆失败n);goto repeat; case 0: return 0; default: printf(请重新重新选择:); goto repeat1;车位管理函数:void Stall() int i=0,a,k,m,p; char carnum10;FILE *fp; fp=fopen(D:小区管理个人信息.txt,r+);if(!fp) printf(无个人信息资料n);else i=0; printf(车位管理表格n);printf(车位 姓名 房号 );while(!feof(fp)fscanf(fp,%d%10s%10s%12s%50s%d%d%10s,&bodyi.number,&,&bodyi .roomnum,&bodyi.tel,&bodyi.adress,&bodyi.premoney,&bodyi.afmoney, &bodyi.carnumber); printf(%-6s%-8s %-10sn,bodyi.carnumber,,bodyi.roomnum);i+;repeat:printf(1、查看车位信息 0、返回上级目录); scanf(%d,&a); switch(a) case 1:printf(请输入您要查看的车位:);scanf(%s,&carnum);for(m=0;mi;m+) p=0; if(strcmp(carnum,bodym.carnumber)=0) k=m; p=1; break;if(p!=0)printf(tt车位:%-10st姓名:%-10sntt房号:%-10st联系电话:%-12地址:%-50sn,bodyk.carnumber,,bodyk.roomnum,bodyk.tel,bodyk.adre;else printf(尚无您要查找的车位信息!n);goto repeat;case 0:fclose(fp);return ;default:goto repeat;管理员进入管理:int Enter() int j,m=3;char b,i,ch; key ad;FILE*fp; fp=fopen(D:小区管理管理员密码.rec,r);if(fp=NULL) printf(无记录内容!n);exit(1);for(i=0;i4;i+) fread(&admini.number,16,1,fp); fread(&admini.ukey,16,1,fp);fclose(fp);repeat1: printf(请输入您的帐号:); scanf(%s,&ad.number);for(i=0;i4;i+) if(strcmp(admini.number,ad.number)=0) printf(请输入您的密码(3次机会):);do j=0;while(ch=getch()!=13) /将输入的密码转换成字符* putchar(*);ad.ukeyj=ch;j+;ad.ukeyj=0; if(strcmp(admini.ukey,ad.ukey)=0)return (1); elsem-;if(m=0)return (2);putchar(n); printf(密码错误!您还有%d次机会! n请重新输入密码:,m);while(strcmp(admini.ukey,ad.ukey)!=0);elseprintf(tt没有此帐号!请您注册后再登录!ntt是否返回上一级目录?);do scanf(%c,&b);if(b=y|b=Y)return (2);else goto repeat1;管理员管理用户的函数:void Man() int i=0,a,b,c,d,m,n,h,j,p,k=0,index,bonumber;char boname10,carnum10,boroomnum10;user temp;advise repa=Noinformation!, Noinformation!;FILE *fp,*fq;repeat:fq=fopen(D:小区管理报修投诉.txt,r+);if(!fq) printf(没有存档n); fq=fopen(D:小区管理报修投诉.txt,wb);elsei=0;while(!feof(fq) fscanf(fq,%200s%200s,&repairi.fix,&repairi.sug);i+;fp=fopen(D:小区管理个人信息.txt,r+);if(!fp) printf(无存档n); fp=fopen(D:小区管理个人信息.txt,wb);elsei=0;printf(序号 姓名 房号 预付金(元)欠费(元)n); while(!feof(fp)fscanf(fp,%d%10s%10s%12s%50s%d%d%10s,&bodyi.number,&,&bodyi.roomnum,&bodyi.tel,&bodyi.adress,&bodyi.premoney,&bodyi.afmoney,&bodyi.carnumber);,bodyi.number,,bodyi.roomnum,bodyi.premoney,bodyi.afmoney); i+;repeat1:printf(1、添加新住户 2、查看详细信息3、选择项目排序4、删除住户信息0、返回上级目录n); scanf(%d,&a);switch(a) case 1: printf(请输入姓名:) ; scanf(%s,&);printf(请输入住房号(如:7#312):); scanf(%s,&bodyi.roomnum); printf(请输入联系号码:); scanf(%s,&bodyi.tel); printf(请输入联系地址:); scanf(%s,&bodyi.adress); printf(请输入车位:); scanf(%s,&bodyi.carnumber); printf(请输入预付金额(元):); scanf(%d,&bodyi.premoney); printf(请输入欠费金额(元):); scanf(%d,&bodyi.afmoney); repairi=repa; printf(成功添加新用户n); fprintf(fp,%d%10s%10s%12s%50s%d%d%10s,(i+1),,bodyi.roomnum,bodyi.tel,bodyi.adress,bodyi.premoney,bodyi.afmoney,bodyi.carnumber); fprintf(fq,%200s%200s ,repairi.fix,repairi.sug);i+; fclose(fp);fclose(fq);goto repeat;case 2:repeat2: printf(请选择查看方式n);printf( 1、按序号查看资2、按姓名查看资料3、按房号查看资4、按车位查看资料 0、退出nn); ); scanf(%d,&b);switch(b) case 1:printf(请输入你要查看的序号:); scanf(%d,&bonumber); for(m=0;mi;m+) p=0; if(bonumber=bodym.number)k=m;p=1;break;break; case 2:printf(请输入你要查看的姓名:);scanf(%s,&boname); for(m=0;mi;m+)p=0;if(strcmp(boname,)=0)k=m;p=1; break;break; case 3:printf(请输入您要查看的房号:);scanf(%s,&boroomnum); for(m=0;mi;m+)p=0; if(strcmp(boroomnum,bodym.roomnum)=0)k=m; p=1; break;break; case 4:printf(请输入您要查看的车位:); scanf(%s,&carnum); for(m=0;mi;m+)p=0;if(strcmp(carnum,bodym.carnumber)=0) k=m; p=1; break;break; case 0:goto repeat1; default:goto repeat2;if(p!=0)printf(序号:%3d姓名:%10s房号:%10s联系电话:%12s车位:%10s联系地:%50s预付金额(元):%4d欠费金额(元):%3d报修:%56snt投诉:%-56sn,bodyk.number,,bodyk.roomnum,bodyk.tel,bodyk.carnumber,bodyk.adress,bodyk.premoney,bodyk.afmoney,repairk.fix,repairk.sug); Else printf(无您要查找的内容!n);goto repeat2;case 3: repeat3:printf(1按欠费金额排序0退出); scanf(%d,&c);switch(c)case 1:for(n=0;ni;n+)pain=bodyn;for(n=0;ni;n+) index=n; for(h=n+1;hi;h+)if(paih.afmoneypaiindex.afmoney)index=h; if(index!=n) temp=paiindex; paiindex=pain; pain=temp;printf(序号 姓名 房号 预付金(元)欠费(元)n); for(j=0;ji;j+) printf(%3d%9s%9s%4%3dtn,paij.number,,paij.roomnum,paij.premoney,paij.afmoney);goto repeat1;case 0:goto repeat1;default:goto repeat3;case 4:repeat4:printf(请选择您需要删除的方式:n1、选择序号删除t2、选择姓名删除t0、返回上级目录。); scanf(%d,&d); switch(d) case 1:printf(需要删除的住户序号:);scanf(%d,&bonumber);for(m=0;mi;m+) p=0;if(bonumber=bodym.number)k=m;p=1;break; if(p!=0)for(n=k;ni-1;n+)bodyn=bodyn+1; fclose(fp);fclose(fq);system(del D:小区管理个人息.txt);system(del D:小区管理报修诉.txt);fp=fopen(D:小区管理个人信息.txt,wb);fq=fopen(D:小区管理报修投诉.txt,wb)for(n=0;ni-1;n+) fprintf(fp,%d%10s%10s%12s%50s%d%d%10s,(n+1),,bodyn.roomnum,bodyn.tel,bodyn.adress,bodyn.premoney,bodyn.afmoney,bodyn.carnumber); fprintf(fq,%200s%200s ,repairn.fix,repairn.sug);fclose(fp);fclose(fq);goto repeat;elseprintf(无您要删除的序号!n);goto repeat1; case 2:printf(需要删除的住户姓名:); scanf(%s,&boname); for(m=0;mi;m+)p=0;if(strcmp(boname,)=0)k=m;p=1;break; if(p!=0)for(n=k;ni-1;n+)bodyn=bodyn+1;fclose(fp);fclose(fq); system(del D:小区管理个人信 息.txt);system(del D:小区管理报修投 诉.txt);fp=fopen(D:小区管理个人信息.txt,wb);fq=fopen(D:小区管理报修投诉.txt,wb);for(n=0;ni-1;n+) fprintf(fp,%d%10s%10s%12s%50s%d%d%10s ,(n+1),,bodyn.roomnum,bodyn.tel,bodyn.adress,bodyn.premoney,bodyn.afmoney,bodyn.carnumber);fprintf(fq,%200s%200s ,repairn.fix,repairn.sug);fclose(fp);fclose(fq);goto repeat;elseprintf(无您要删除的姓名!n);goto repeat1; case 0:goto repeat1; default:goto repeat4; case 0:fclose(fp);fclose(fq);return ;default:goto repeat1;收费管理函数:void Property() int i=0,a,k,m,n,h,p,s=0,index;char name20;money charge20,fee20,change;FILE*fp;repeat: i=0; fp=fopen(D:小区管理收费管理.txt,r+); if(!fp)printf(没有存档信息n);fp=fopen(D:小区管理收费管 理.txt,w+);elseprintf(收费名称 收费金额 收费单位 收费周期);while(!feof(fp) fscanf(fp,%20%d%20s%16s,&,&chargei.much,&chargei.unit,&chargei .cycle); printf(t%-20s%-dtt%-20st%-16sn,,chargei.much,chargei.unit,chargei.cycle);s=s+chargei.much; i+; printf(t收费总金额为:%dn,s);repeat1:printf(1、添加收费项目 2、查找收费项目 3、按收费金额排序 4、删除收费项目 0、返回上级目录n);scanf(%d,&a);switch(a)case 1:printf(请输入添加项目的名称:);scanf(%s,&);printf(请输入添加项目的金额:);scanf(%d,&chargei.much);printf(请输入收费金额的单位:);scanf(%s,&chargei.unit);printf(请输入收费项目的周期:);scanf(%s,&chargei.cycle);printf(成功添加项目!n);fprintf(fp,%20s%d%20s%16s,,chargei.much,chargei.unit,chargei.cycle);i+;fclose(fp);goto repeat;case 2:printf(请输入需要查找项目的名称:);scanf(%s,&name);for(m=0;mi;m+)p=0;if(strcmp(name,)=0)k=m;p=1;break;if(p!=0)printf( 收费名称 收费金额 收费单位 收费周期nn); printf(t%-20s%-dtt%-20st%-16sn,,chargek.much,chargek.unit,chargek.cycle);else printf(无您要查找的内容!n);goto repeat1;case 3:for(n=0;ni;n+) feen=chargen;for(n=0;ni;n+)index=n;for(h=n+1;hi;h+) if(feeh.muchfeeindex.much)index=h; if(index!=n) change=feeindex;feeindex=feen;feen=change;printf(收费名称 收费金额 收费单位 收费周期n);for(k=0;ki;k+) printf(t%-20s%-dtt%-20st%-16sn,,feek.much,feek.unit,feek.cycle);goto repeat1; case 4:printf(请输入需要删除项目的名称:);scanf(%s,&name); for(m=0;mi;m+)p=0;if(strcmp(name,)=0)k=m;p=1;break; if(p!=0)for(n=k;ni-1;n+)chargen=chargen+1;fclose(fp); system(del D:小区管理收费管理.txt); fp=fopen(D:小区管理收费管理.txt,w); for(n=0;ni-1;n+) fprintf(fp,%20s%d%20s%16s,,chargen.much,chargen.unithargen.cycle);fclose(fp);goto repeat; else printf(无您要删除的内容!n);goto repeat1; case 0:fclose(fp); return ; default:goto repeat;文件夹的管理的函数(网上资源):void Newfolder() int flag ;char dir255; int ceng = 1;memset(dir,0,255); memcpy(dir,D:小区管理,strlen(E:小区管理); flag = mkdir(dir);return ;小区信息管理的函数:void Village() / int i=0,n,c,m,p,k,q=0;char a=n,b,ty20;garden gar500,building=t,0,t,t,23;FILE*fp;repeat:fp=fopen(D:小区管理小区.txt,r+);if(!fp)fp=fopen(D:小区管理小 区.txt,wb);printf(初次使用,请新建内容:n);printf(请输入小区名称:);scanf(%s,&);printf(请输入楼宇总数:); scanf(%d,&building.number);gar0=building;elsei=0;fscanf(fp,%16s%d%10s%10s%d,&,&gari.number,&gari.typenum,&gari.type,&gari.area); printf(小区名称:%s 楼栋总数:%d n,,gari.number);printf(房型编号 房型种类 面积 n );printf(%10s%10s %-3dn,gari.typenum,gari.type,gari.area);i+; while(!feof(fp)fscanf(fp,%16s%d%10s%10s%d,&,&gari.number,&gari.typenum,&gari.type,&gari.area); printf(%10s%14s%3dn,gari.typenum,gari.type,gari.area); i+; q+; if(q=1)printf(是否需要修改小区信息?(Y/N)); doscanf(%c,&a);while(a!=Y&a!=y&a!=N&a!=n);if(a=Y|a=y)repeat1: printf(请选选择您需要修改的信息!n1、小区名称 2、楼宇总数 0、返回上级目录); scanf(%d,&b);switch(b)case 1:printf(请输入小区名称:);scanf(%s,&);goto repeat1;case 2:printf(请输入楼宇总数:);scanf(%d,&gar0.number);goto repeat1;case0:rewind(fp);for(n=0;ni;n+)fprintf(fp,%16s%d%10s%10s%d,,gar0.number,garn.typenum,garn.type,garn.area);fclose(fp); goto repeat;default:goto repeat1;elserepeat2:printf(请选择您的选项);printf( 1、添加房型信息 2、删除房型信息 3、查看房型信息 0、退出 n);scanf(%d,&c);switch(c) case 1:printf(请输入房型编号:); scanf(%s,&gari.typenum); printf(请输入房型:);scanf(%s,&gari.type); printf(请输入建筑面积:);scanf(%d,&gari.area); fprintf(fp,%16s%d%10s%10s%d,,gar0.number,gari.typenum,gari.type,gari.area);fclose(fp);goto repeat;repeat3:case 2:printf(请输入需要删除的房型编号:); scanf(%s,&ty); for(m=0;mi;m+) p=0;if(strcmp(ty,garm.typenum)=0) k=m; p=1; break; if(p!=0) for(n=k;ni-1;n+)garn=garn+1;fclose(fp);system(del D:小区管理小区.txt);fp=fopen(D:小区管理小区.txt,w);for(n=0;ni-1;n+) fprintf(fp,%16s%d%10s%10s%d,,gar0.number,garn.typenum,garn.type,garn.area);fclose(fp);goto repeat; else printf(无您要删除的内容!n); goto repeat2; case 3:printf(小区名称:%s楼栋总数: %d n,,gar0.number); printf( 房型编号 房型种类 面积n ); printf(%10s%10s%3d n,gar0.typenum,gar0.type,gar0.area);for(n=1;ni;n+) printf(%10s%10s %3d n,garn.typenum,garn.type,garn.area); goto repeat2;case 0:fclose(fp);return ;default:goto repeat3; 住户登录后实现的函数:void Zhuhu( int *boname) int i=0,b,n,m,p,k=0;char a; FILE *fp,*fq;fq=fopen(D:小区管理报修投诉.txt,r+);if(!fq) printf(没有相关信息!n);return;else i=0;while(!feof(fq) fscanf(fq,%200s%200s,&repairi.fix,&repairi.sug);i+;fp=fopen(D:小区管理个人信息.txt,r+);if(!fp)printf(没有相关信息!n);return;else i=0;while(!feof(fp) fscanf(fp,%d%10s%10s%12s%50s%d%d%10s,&bodyi.number,&,&bodyI .roomnum,&bodyi.tel,&bodyi.adress,&bodyi.premoney,&bodyi.afmoney, &bodyi.c arnumber);i+; fclose(fp);for(m=0;mi;m+) p=0; if(strcmp(boname,)=0) k=m; p=1; break; if(p!=0)repeat: printf(%d %s %s %s %s %d %d %s %s %sn,bodyk.number,b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院感染管理信息系统基本功能标准wst547-2025解读
- 国际贸易理论与实务(中篇共上中下3篇)
- 大型灌区工程监理服务方案投标文件(技术方案)
- 感染性疾病患儿的康复指导
- 飞机燃油动力系统安装调试工常识考核试卷含答案
- 柔性版制版员安全综合能力考核试卷含答案
- 急诊科护理工作与医疗团队的协作
- 带状疱疹患者的家庭护理要点
- 旅行社计调测试验证考核试卷含答案
- 氮化钛涂层工安全生产规范知识考核试卷含答案
- 2025年检察院书记员考试真题(附答案)
- 医疗纠纷预防和处理课件
- 前庭大腺脓肿切开护理查房
- 2025年甘肃省中考英语试卷真题(含标准答案及解析)
- 护士呼吸科进修专题汇报
- 辽宁省2025年初中学业水平模拟考试 语文试卷(一)(含答案)
- 电力拖动自动控制系统-运动控制系统(第5版)习题答案
- 2025年高考英语复习难题速递之语法填空(2025年4月)
- 美团电子合同协议
- 期刊图书馆管理员
- 考研动员讲座
评论
0/150
提交评论