物业管理系统C语言程序实习报告.docx_第1页
物业管理系统C语言程序实习报告.docx_第2页
物业管理系统C语言程序实习报告.docx_第3页
物业管理系统C语言程序实习报告.docx_第4页
物业管理系统C语言程序实习报告.docx_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、物业信息系统统计查询系统a 业主信息管理收费信息管理.4、数据结构可以把住户信息、物业收费信息分别放在两个结构体。word 专业资料.住户信息结构体: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;int last_year;int last_month

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

4、e1();/ 删除业主信息word 专业资料.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);/保存物业信息至文件struc

5、t 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;word 专业资料.float lost;int area;char rz_time20;struc

6、t 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);word 专业资料.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()/物业信息菜单显示 /int choo

8、se;do printf(*物业信息系统*n);word 专业资料.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);word 专业资料. while(1);void tongjimenu()/ 统计查询菜单显示 /int choose;do printf(*统计查询系统*n);printf(-n);printf(* * * * * * * * * * * * * * *请选择( 13

10、)* * * * * * * * * * * * * *n);printf(* *n);printf(* *n);printf(*查询缴费信息;*n);printf(* *n);printf(*欠费一览表;*n);printf(* *n);printf(*返回主菜单。*n);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n);printf( 请您输入选项 :);word 专业资料.scanf(%d,&choose);switch(choose)case 1 : myfind()

11、;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);word 专业资料.printf(* *n);printf(* *n);printf(*业主信息录入;*n);printf

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

13、myReplace1();break;word 专业资料.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(%s,p-name);

14、printf( 年龄: );scanf(%d,&p-age);printf( 家庭成员数: );word 专业资料.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 *

15、p)/添加业主信息结点 /struct yezhu *t;if(phead=NULL)phead=p;p-next=NULL;word 专业资料.elset=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:);word 专业资

16、料.scanf(%s,k-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);elsepri

17、ntf( 无此业主 ID!n);return;word 专业资料.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)word 专业资料.printf(nn);printf(ID:%sn,p-id);printf( 姓名 :%sn,p-name);printf( 年龄: %dn,

18、p-age);printf( 家庭成员数: %dn,p-family_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:);word 专业资料.scanf(%s

19、,id);p=find1(id);k=find2(id);if(p!=NULL)if(p=phead)phead=p-next;free(p);elsewhile(pp-next!=p)pp=pp-next;pp-next=p-next;free(p);elseprintf( 无此业主 ID!n);return;word 专业资料.printf( 删除业主信息成功 !n);save1(p);if(k!=NULL)if(k=pHead)pHead=k-link;free(k);elsewhile(kk-link!=k)kk=kk-link;kk-link=k-link;free(k);elsep

20、rintf( 无此业主 ID!n);return;word 专业资料.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;word 专业资料.fp=fopen(yezhu.dat,rb);while(1)p=(struct yezhu *)ma

21、lloc(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);word 专业资料.printf(-n);printf(* * * * * * * * * * * * * * *请选择( 15)* * * * * * * * * * * *n);printf(* * n);printf(* *n);printf(*物业信息录入;*n);printf(* *n

22、);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;word 专业资料.case 2: myReplace2()

23、;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);word 专业资料.if(t!=NULL)pr

24、intf( 上一次缴费年份: );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);elseprintf( 无此业主 ID!n);return;struct wuye *myAdd4(struct wuye *p)/添加物业信息结点 /word 专业资料.struct wuye *t;if(pHead=N

25、ULL)pHead=p;p-link=NULL;elset=pHead;while(t-link!=NULL)t=t-link;t-link=p;p-link=NULL;return pHead;struct wuye *find2(char *id)/通过姓名查找缴费信息/struct wuye *p;p=pHead;word 专业资料.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:);scan

26、f(%s,a);p=find2(a);if(p!=NULL)printf( 业主已经存缴 !n);elseword 专业资料.printf( 业主尚没存缴信息 !n);return;Display(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( 上一次缴费年份: );

27、scanf(%d,&k-last_year);word 专业资料.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);elseprintf( 无此业主 ID!n);return;void myDelete2()/struct wuye *p,*pp;char id100;word 专业资料.pp=pHead;pri

28、ntf( 请输入要删除人的ID:);scanf(%s,id);p=find2(id);if(p!=NULL)if(p=pHead)pHead=p-link;free(p);elsewhile(pp-link!=p)pp=pp-link;pp-link=p-link;free(p);elseprintf( 无此业主 ID!n);word 专业资料.return;save2(p);printf( 删除成功 !n);void Display2()struct wuye *p;p=pHead;while(p!=NULL)printf(ID:%sn,p-ID);printf(最后一次缴费日期:%d年%d

29、月n,p-last_year,p-last_month);printf( 缴费金额 :%f 元n,p-money);printf( 费用有效期: %d 个月 n,p-to_time);printf(nnn);p=p-link;word 专业资料.void Display(struct 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 wuye),1,fp)myAdd4(p);word 专业资料.fclose(fp);void save2(struct wuye *p)/FILE *fp; fp=fopen(wuye.d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论