物业管理系统C语言程序实习报告(共18页).doc

上传人:飞****2 文档编号:16706361 上传时间:2022-05-18 格式:DOC 页数:18 大小:58KB
返回 下载 相关 举报
物业管理系统C语言程序实习报告(共18页).doc_第1页
第1页 / 共18页
物业管理系统C语言程序实习报告(共18页).doc_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《物业管理系统C语言程序实习报告(共18页).doc》由会员分享,可在线阅读,更多相关《物业管理系统C语言程序实习报告(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上1、题目要求用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。要求用文件存储相关信息。可随时浏览、录入和更改小区住户、收费项目等数据。可随时增、删、改、查收费项目及其标准。生成小区住户收费报表(包括全部、已交、欠交)。2、需求分析住户信息、物业收费信息要用文件存储(可用一个文件,也可分成两个文件)因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。3、功能模块图整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层

2、次结构:查询缴费信息查询欠费名单信息浏览信息修改信息删除信息录入业主信息管理物业信息系统收费信息管理统计查询系统主函数4、数据结构可以把住户信息、物业收费信息分别放在两个结构体内。住户信息结构体:struct yezhu /业主结构体/char id100;char name20; int age; int family_num; int floor_num; char room_num100;float lost; int area; char rz_time20; struct yezhu *next;物业收费信息结构体:struct wuye /物业信息结构体/char ID100; i

3、nt last_year; int last_month; float money;int to_time;struct wuye *link; ;5、源代码程序: #include #include #include #include#include /函数声明/ int mainmenu(); /主菜单void xinximenu(); /物业信息菜单void tongjimenu();/统计查询菜单void mychaozhao(); /欠费名单void yezhumenu();/业主菜单void wuyemenu();/物业菜单void myAdd1();/录入业主信息void myA

4、dd2(); /录入物业信息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);/保存

5、物业信息至文件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 id100;char name20; int age; int family_num; int floor_num; char room_num100;float lost; int area; char rz_time20;

6、 struct yezhu *next;struct wuye /物业信息结构体/char ID100; 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(* * * * * * * * * * * * * * * 请选择(13)* * * * * *

7、* * * * * * * * *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()/物业信息菜单显示

8、/ int choose; do printf(*物业信息系统*n); printf(-n); printf(* * * * * * * * * * * * * * * 请选择(13)* * * * * * * * * * * * * * *n); printf(* *n);printf(* *n);printf(* 小区业主信息管理; *n); printf(* *n); printf(* 物业费用信息管理; *n); printf(* *n);printf(* 返回主菜单。 *n); printf(* * * * * * * * * * * * * * * * * * * * * * *

9、* * * * * * * * * * * * * * * *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(* * * * * * * * * * * * * * * 请选

10、择(13)* * * * * * * * * * * * * * *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 :

11、 myfind();break;case 2 : mychaozhao();break;case 3 : return;default: printf(输入错误,请重新输入!nn); while(1); void yezhumenu()/业主菜单函数int choose;do printf(*业主信息编辑系统*-n); printf(-n);printf(* * * * * * * * * * * * * * * *请选择(15)* * * * * * * * * * * * * * *n);printf(* *n); printf(* *n);printf(* 业主信息录入; *n); pr

12、intf(* *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 :myAd

13、d1();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(姓名:);scanf(%

14、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)/添加业主信息

15、结点/ 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 id100; printf(请输入要修改的业主ID:); scanf(%s,id); k=find1(id); if(k!=NULL) printf(请输入要修改的业主信息:n); printf(ID:); scanf(%s,k-

16、id); printf(姓名:); 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

17、); 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(nn);printf(ID:%sn,p-id);printf(姓名:%sn,p-name);printf(年龄:%dn,p-age); printf(家庭成员数:%dn,p-fami

18、ly_num);printf(所在楼号:%dn,p-floor_num); printf(单元房间号:%sn,p-room_num);printf(住宅面积:%dn,p-area); printf(入住时间:%sn,p-rz_time); printf(nn);p=p-next; void myDelete1() struct yezhu *p,*pp; struct wuye *k,*kk; char id100;pp=phead;kk=pHead;printf(请输入要删除人的ID:); scanf(%s,id);p=find1(id);k=find2(id);if(p!=NULL)if(

19、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(删除物业信息成

20、功!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,

21、sizeof(struct yezhu),1,fp) myAdd3(p); fclose(fp);void wuyemenu() int choose=0;do printf(*物业费用管理系统*n);printf(-n);printf(* * * * * * * * * * * * * * * 请选择(15)* * * * * * * * * * * * *n); printf(* * n);printf(* *n);printf(* 物业信息录入; *n); printf(* *n);printf(* 物业信息修改; *n);printf(* *n);printf(* 物业信息删除; *n

22、);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();br

23、eak;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-las

24、t_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-lin

25、k=NULL;return pHead; struct wuye *find2(char *id)/通过姓名查找缴费信息/ 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 a100;printf(请输入要查找的业主id:);scanf(%s,a);p=find2(a);if(p!=NULL)printf(业主已经存缴!n);else printf(业主尚没存缴信息!n);return; Displ

26、ay(p);void myReplace2()/ char id20;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-

27、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 id100;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-l

28、ink=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:%sn,p-ID);printf(最后一次缴费日期:%d年%d月n,p-last_year,p-last_month); printf(缴费金额:%f元n,p-money);printf(费用有效期:%d个月n,p-to_time);printf(nnn); p=p-link; void Display(struct

29、wuye *p) printf(业主ID:%sn,p-ID);printf(最后一次缴费日期:%d年%d月n,p-last_year,p-last_month);printf(最后一次缴费金额:%fn,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 wu

30、ye),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(请输入

31、当前月份:);scanf(%d,&month);while(k!=NULL) if(yeark-last_year) l=find1(k-ID);l-lost=(float)(month+12-k-to_time-k-last_month)*(0.4*l-area);if(l-lost0) printf(业主ID*:%sn,l-id);printf(业主姓名*:%sn,l-name);printf(最后一次缴费日期:%d年%d月n,k-last_year,k-last_month);printf(欠费金额*:%fn,l-lost);printf(nn); if(year=k-last_year

32、) l=find1(k-ID);l-lost=(float)(month-k-to_time-k-last_month)*(0.4*l-area); if(l-lost0) printf(业主ID:%sn,l-id); printf(业主姓名:%sn,l-name);printf(最后一次缴费日期:%d年%d月n,k-last_year,k-last_month);printf(欠费金额:%fn,l-lost); printf(nn); 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); 专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁