物业管理系统C语言程序实习报告.doc
《物业管理系统C语言程序实习报告.doc》由会员分享,可在线阅读,更多相关《物业管理系统C语言程序实习报告.doc(35页珍藏版)》请在咨信网上搜索。
- . 1、题目要求 用于小区的物业管理,管理的工程包括小区住户管理、物业收费工程管理、物业收费管理。要求用文件存储相关信息。 ⑴可随时浏览、录入和更改小区住户、收费工程等数据。 ⑵可随时增、删、改、查收费工程及其标准。 ⑶生成小区住户收费报表〔包括全部、已交、欠交〕。 2、需求分析 住户信息、物业收费信息要用文件存储〔可用一个文件,也可分成两个文件〕因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。 3、功能模块图 整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。 依据程序的数据构造和功能,遵照“自顶向下〞原那么,采用基于函数的逐步求精法,描述该程序的层次构造: 查询缴费信息 查询欠费 信 息 浏览 信 息 修改 信 息 删除 信 息 录入 业主信息管理 物业信息系统 收费信息管理 统计查询系统 主函数 4、数据构造 可以把住户信息、物业收费信息分别放在两个构造体。 住户信息构造体: struct yezhu { //业主构造体// char id[100]; char name[20]; int age; int family_num; int floor_num; char room_num[100]; float lost; int area; char rz_time[20]; struct yezhu *next; }; 物业收费信息构造体: struct wuye { //物业信息构造体// char ID[100]; int last_year; int last_month; float money; int to_time; struct wuye *link; }; 5、源代码 程序: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> #include<conio.h> //函数声明// int mainmenu(); //主菜单 void xinximenu(); //物业信息菜单 void tongjimenu();//统计查询菜单 void mychaozhao(); //欠费 void yezhumenu();//业主菜单 void wuyemenu();//物业菜单 void myAdd1();//录入业主信息 void myAdd2(); //录入物业信息 void myDelete1();//删除业主信息 void myDelete2();//删除物业信息 void myReplace1();//修改业主信息 void myReplace2();//修改物业信息 void Display1();//浏览业主信息 void Display2();//浏览物业信息 void myfind();//查询缴费 void Display(struct wuye *p); void Read1(); void Read2(); void save1(struct yezhu *p);//保存业主信息至文件 void save2(struct wuye *p);//保存物业信息至文件 struct yezhu *find1(char *id); //查找业主信息 struct wuye *find2(char *id);//查找物业信息` struct yezhu *myAdd3(struct yezhu *p);//添加业主信息 struct wuye *myAdd4(struct wuye *p); struct yezhu { //业主构造体// char id[100]; char name[20]; int age; int family_num; int floor_num; char room_num[100]; float lost; int area; char rz_time[20]; struct yezhu *next; }; struct wuye { //物业信息构造体// char ID[100]; int last_year; int last_month; float money; int to_time; struct wuye *link; }; struct yezhu *phead; //业主头结点 struct wuye *pHead; //物业头结点 int mainmenu()//主菜单// { int n; printf("**************************欢送进入小区物业管理系统***************************\n"); printf("-----------------------------------------------------------------------------\n"); printf("* * * * * * * * * * * * * * * 〓请选择〓〔1~3〕* * * * * * * * * * * * * * *\n"); printf("* *\n"); printf("* *\n"); printf("* ⒈物业信息系统; *\n"); printf("* *\n"); printf("* ⒉统计查询系统; *\n"); printf("* *\n"); printf("* ⒊退出程序。 *\n"); printf("* *\n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请您输入选项★№:"); scanf("%d",&n); return n; } void xinximenu()//物业信息菜单显示// { int choose; do { printf("*****************************物业信息系统************************************\n"); printf("-----------------------------------------------------------------------------\n"); printf("* * * * * * * * * * * * * * * 〓请选择〓〔1~3〕* * * * * * * * * * * * * * *\n"); printf("* *\n"); printf("* *\n"); printf("* ⒈小区业主信息管理; *\n"); printf("* *\n"); printf("* ⒉物业费用信息管理; *\n"); printf("* *\n"); printf("* ⒊返回主菜单。 *\n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请您输入选项★№:"); scanf("%d",&choose); switch(choose) { case 1:yezhumenu(); break; case 2:wuyemenu(); break; case 3:return; default:printf("输入错误,请重新输入:\n"); } } while(1); } void tongjimenu() //统计查询菜单显示// { int choose; do { printf("******************************统计查询系统***********************************\n"); printf("-----------------------------------------------------------------------------\n"); printf("* * * * * * * * * * * * * * * 〓请选择〓〔1~3〕* * * * * * * * * * * * * * *\n"); printf("* *\n"); printf("* *\n"); printf("* ⒈查询缴费信息; *\n"); printf("* *\n"); printf("* ⒉欠费一览表; *\n"); printf("* *\n"); printf("* ⒊返回主菜单。 *\n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请您输入选项★№:"); scanf("%d",&choose); switch(choose) { case 1 : myfind(); break; case 2 : mychaozhao(); break; case 3 : return; default: printf("输入错误,请重新输入!\n\n"); } } while(1); } void yezhumenu()//业主菜单函数 { int choose; do { printf("********************************业主信息编辑系统******************************-\n"); printf("-------------------------------------------------------------------------------\n"); printf("* * * * * * * * * * * * * * * *〓请选择〓〔1~5〕* * * * * * * * * * * * * * *\n"); printf("* *\n"); printf("* *\n"); printf("* ⒈业主信息录入; *\n"); printf("* *\n"); printf("* ⒉业主信息修改; *\n"); printf("* *\n"); printf("* ⒊业主信息删除; *\n"); printf("* *\n"); printf("* ⒋业主信息浏览; *\n"); printf("* *\n"); printf("* ⒌返回上级菜单。 *\n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请输入选项★№:"); scanf("%d",&choose); //getchar(); switch(choose) { case 1 :myAdd1(); break; case 2 :myReplace1(); break; case 3 :myDelete1(); break; case 4 :Display1(); break; case 5 : return; default: printf("输入错误,请重新输入:\n"); } } while(1); } void myAdd1()//录入业主信息// { struct yezhu *p; p=(struct yezhu *)malloc(sizeof(struct yezhu)); printf("请录入业主信息:\n"); printf("ID:"); scanf("%s",p->id); printf("XX:"); scanf("%s",p->name); printf("年龄:"); scanf("%d",&p->age); printf("家庭成员数:"); scanf("%d",&p->family_num); printf("所在楼号:"); scanf("%d",&p->floor_num); printf("单元房间号:"); scanf("%s",p->room_num); printf("住宅面积:"); scanf("%d",&p->area); printf("入住时间:"); scanf("%s",p->rz_time); myAdd3(p); save1(p); printf("录入成功!\n"); } struct yezhu *myAdd3(struct yezhu *p)//添加业主信息结点// { struct yezhu *t; if(phead==NULL) { phead=p; p->next=NULL; } else { t=phead; while(t->next!=NULL) t=t->next; t->next=p; p->next=NULL; return phead; } } void myReplace1()//修改业主信息 { struct yezhu *k; char id[100]; printf("请输入要修改的业主ID:"); scanf("%s",id); k=find1(id); if(k!=NULL) { printf("请输入要修改的业主信息:\n"); printf("ID:"); scanf("%s",k->id); printf("XX:"); scanf("%s",k->name); printf("年龄:"); scanf("%d",&k->age); printf("家庭成员数:"); scanf("%d",&k->family_num); printf("所在楼号:"); scanf("%d",&k->floor_num); printf("单元房间号:"); scanf("%s",k->room_num); printf("住宅面积:"); scanf("%d",&k->area); printf("入住时间:"); scanf("%s",k->rz_time); save1(k); printf("修改成功!\n"); } else { printf("无此业主ID!\n"); return; } } struct yezhu *find1(char *id)//通过ID查找业主信息// { struct yezhu *p; p=phead; while(p!=NULL) { if(strcmp(p->id,id)==0) return p; p=p->next; } return NULL; } void Display1() { struct yezhu *p; p=phead; while(p!=NULL) { printf("\n\n"); printf("ID:%s\n",p->id); printf("XX:%s\n",p->name); printf("年龄:%d\n",p->age); printf("家庭成员数:%d\n",p->family_num); printf("所在楼号:%d\n",p->floor_num); printf("单元房间号:%s\n",p->room_num); printf("住宅面积:%d\n",p->area); printf("入住时间:%s\n",p->rz_time); printf("\n\n"); p=p->next; } } void myDelete1() { struct yezhu *p,*pp; struct wuye *k,*kk; char id[100]; pp=phead; kk=pHead; printf("请输入要删除人的ID:"); scanf("%s",id); p=find1(id); k=find2(id); if(p!=NULL) { if(p==phead) { phead=p->next; free(p); } else { while(pp->next!=p) pp=pp->next; pp->next=p->next; free(p); } } else { printf("无此业主ID!\n"); return; } printf("删除业主信息成功!\n"); save1(p); if(k!=NULL) { if(k==pHead) { pHead=k->link; free(k); } else { while(kk->link!=k) kk=kk->link; kk->link=k->link; free(k); } } else { printf("无此业主ID!\n"); return; } printf("删除物业信息成功!\n"); save2(k); } void save1(struct yezhu *p) { FILE *fp; fp=fopen("yezhu.dat","wb"); p=phead; while(p!=NULL) { fwrite(p,sizeof(struct yezhu),1,fp); p=p->next; } fclose(fp); } void Read1() { FILE *fp; struct yezhu *p; fp=fopen("yezhu.dat","rb"); while(1) { p=(struct yezhu *)malloc(sizeof(struct yezhu)); if(feof(fp)) { break; } if(fread(p,sizeof(struct yezhu),1,fp)) { myAdd3(p); } } fclose(fp); } void wuyemenu() { int choose=0; do { printf("*********************************物业费用管理系统************************\n"); printf("-------------------------------------------------------------------------\n"); printf("* * * * * * * * * * * * * * * 〓请选择〓〔1~5〕* * * * * * * * * * * * *\n"); printf("* * \n"); printf("* *\n"); printf("* ⒈物业信息录入; *\n"); printf("* *\n"); printf("* ⒉物业信息修改; *\n"); printf("* *\n"); printf("* ⒊物业信息删除; *\n"); printf("* *\n"); printf("* ⒋物业信息浏览; *\n"); printf("* *\n"); printf("* ⒌返回上级菜单。 *\n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"); printf("请输入选项:"); scanf("%d",&choose); switch(choose) { case 1: myAdd2(); break; case 2: myReplace2(); break; case 3: myDelete2(); break; case 4: Display2(); break; case 5: return; default:printf("输入错误,请重新输入:\n"); } } while(1); } void myAdd2()//录入物业信息// { struct wuye *p; struct yezhu *t; int x; p=(struct wuye *)malloc(sizeof(struct wuye)); printf("请录入物业信息:\n"); printf("ID:"); scanf("%s",p->ID); t=find1(p->ID); if(t!=NULL) { printf("上一次缴费年份:"); scanf("%d",&p->last_year); printf("月份:"); scanf("%d",&p->last_month); printf("缴费金额:"); scanf("%f",&p->money); x=p->money/(0.4*t->area); p->to_time=(int)x; myAdd4(p); save2(p); printf("录入成功!\n"); } else { printf("无此业主ID!\n"); return; } } struct wuye *myAdd4(struct wuye *p)//添加物业信息结点// { struct wuye *t; if(pHead==NULL) { pHead=p; p->link=NULL; } else { t=pHead; while(t->link!=NULL) t=t->link; t->link=p; p->link=NULL; } return pHead; } struct wuye *find2(char *id)//通过XX查找缴费信息// { struct wuye *p; p=pHead; while(p!=NULL) { if(strcmp(p->ID,id)==0) return p; p=p->link; } return NULL; } void myfind() { struct wuye *p; char a[100]; printf("请输入要查找的业主id:"); scanf("%s",a); p=find2(a); if(p!=NULL) { printf("业主已经存缴!\n"); } else { printf("业主尚没存缴信息!\n"); return; } Display(p); } void myReplace2()// { char id[20]; int x; struct wuye *k; struct yezhu *t; printf("请输入要修改的业主ID:"); scanf("%s",id); if(k!=NULL) { printf("您要修改的信息为:\n"); printf("请输入新的信息:\n"); printf("ID:"); scanf("%s",k->ID); printf("上一次缴费年份:"); scanf("%d",&k->last_year); printf("月份:"); scanf("%d",&k->last_month); printf("缴费金额:"); scanf("%f",&k->money); t=find1(k->ID); x=(int)k->money/(0.4*t->area); k->to_time=(int)x; myAdd4(k); save2(k); printf("修改成功!\n"); } else { printf("无此业主ID!\n"); return; } } void myDelete2()// { struct wuye *p,*pp; char id[100]; pp=pHead; printf("请输入要删除人的ID:"); scanf("%s",id); p=find2(id); if(p!=NULL) { if(p==pHead) { pHead=p->link; free(p); } else { while(pp->link!=p) pp=pp->link; pp->link=p->link; free(p); } } else { printf("无此业主ID!\n"); return; } save2(p); printf("删除成功!\n"); } void Display2() { struct wuye *p; p=pHead; while(p!=NULL) { printf("ID:%s\n",p->ID); printf("最后一次缴费日期:%d年%d月\n",p->last_year,p->last_month); printf("缴费金额:%f元\n",p->money); printf("费用有效期:%d个月\n",p->to_time); printf("\n\n\n"); p=p->link; } } void Display(struct wuye *p) { printf("业主ID:%s\n",p->ID); printf("最后一次缴费日期:%d年%d月\n",p->last_year,p->last_month); printf("最后一次缴费金额:%f\n",p->money); printf("费用有效期:%d个月\n",p->to_time); } void Read2()// { FILE *fp; struct wuye *p; fp=fopen("wuye.dat","rb"); while(1) { p=(struct wuye *)malloc(sizeof(struct wuye)); if(feof(fp)) break; if(fread(p,sizeof(struct wuye),1,fp)) myAdd4(p); } fclose(fp); } void save2(struct wuye *p)// { FILE *fp; fp=fopen("wuye.dat","wb"); p=pHead; while(p!=NULL) { fwrite(p,sizeof(struct wuye),1,fp); p=p->link; } fclose(fp); } void mychaozhao()// { int year,month; struct wuye *k; struct yezhu *l; k=pHead; l=phead; printf("请输入当前年份:"); scanf("%d",&year); printf("请输入当前月份:"); scanf("%d",&month); while(k!=NULL) { if(year>k->last_year) { l=find1(k->ID); l->lost=(float)(month+12-k->to_time-k->last_month)*(0.4*l->area); if(l->lost>0) { printf("业主ID*:%s\n",l->id); printf("业主XX*:%s\n",l->name); printf("最后一次缴费日期:%d年%d月\n",k->last_year,k->last_month); printf("欠费金额*:%f\n",l->lost); printf("\n\n"); } } if(year==k->last_year) { l=find1(k->ID); l->lost=(float)(month-k->to_time-k->last_month)*(0.4*l->area); if(l->lost>0) { printf("业主ID:%s\n",l->id); printf("业主XX:%s\n",l->name); printf("最后一次缴费日期:%d年%d月\n",k->last_year,k->last_month); printf("欠费金额:%f\n",l->lost); printf("\n\n"); } } k=k->link; } } void main()// { int m; //Read1();//第一次没有信息,不可用!!! //Read2();//第一次没有信息,不可用!!! do { m=mainmenu(); switch(m) { case 1: xinximenu(); break; case 2: tongjimenu(); break; case 3:printf("*****************************谢谢使用,再见!***********************************\n"); exit(0); } } while(1); } - . 可修编.- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物业管理 系统 语言 程序 实习 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文