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

下载本文档

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

文档简介

1、本科生课程论文封面所在院系类别:_x#日期:摘要:本文完成了综合练习中第 20题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理,并用文件存储相关信息。文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行结果、总结和致谢, 目录课程设计评语1个人简介2摘要.2目录.3题目及求 4需求析 4功能模图 4数据构 5源码 5程序运行果 21总结 .25.25251、2、题目要求用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管 要求用文件存储相关信息。可随时浏览、录入和更改小区住户、收费项目等数据。可随时增、删、改、

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

3、"叫业主“侑t age;ily nuint flnr统计查询系统char strUcz_tim:yezh信e20;u*next;主函数;I II_物业收费信息结构体:struct wuye /物业信息结构体/char ID100;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>函数声明 /

4、主菜单物业信息菜单统计查询菜单欠费名单业主菜单#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 myReplace

5、2();/修改物业信息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 *my

6、Add3(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;struct yezhu *next;struct wuye / 物业信息结构体/char ID100;int last_year;int last_month;float money;int to_t

7、ime;struct wuye *link;struct yezhu *phead; /业主头结点struct wuye *pHead; /物业头结点int mainmenu()/ 主菜单/int n;printf("I*欢迎进入小区物业管理系统*n");printf("* *=请选择=(1 3)*printf("n");*n");printf("* *n"); printf("* *n");printf("* 1.物业信息系统;*n");printf("* *n&

8、quot;);printf("*2.统计查询系统;*n");printf("* *n");printf("*3.退出程序。*n");printf("* *n");printf("I* * * * * *n");printf("请您输入选项N?:");scanf("%d",&n);return n;void xinximenu()/ 物业信息菜单显示/int choose;do 物业信息系统printf("*n");printf(

9、"n");*printf("I*=请选择=(1 3) * * * * * * *n");printf("* * * * * * * *n"); printf("请您输入选项N?:");printf("* *n");printf("* *n");printf("* 1.小区业主信息管理;*n");printf("* *n");printf("*2.物业费用信息管理;*n");printf("* *n"

10、;);printf("*3.返回主菜单。*n");I* *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");*pri

11、ntf("* *=请选择=(1 3) * * * * * * *n");printf("*n");printf("请您输入选项N?:");printf("* *n");printf("* *n");printf("*1.查询缴费信息;*n");printf("* *n");printf("*2.欠费名单一览表;*n");printf("* *n");printf("*3.返回主菜单。*n");I*

12、 *scanf("%d",&choose);switch(choose)case 1 : myfind();break;case 2 : mychaozhao();break;case 3 : return;default: printf(" 输入错误,请重新输入!nn"); while(1);void yezhumenu()/ 业主菜单函数int choose;do printf("I*业主信息编辑系统-n");*printf("n");*printf("=请选择=(15)*n");p

13、rintf("*n");printf("*n");printf("*1.业主信息录入;*n");printf("*n");printf("*2.业主信息修改;*n");printf("*n");printf("*3.业主信息删除;*n");printf("*n");printf("*4.业主信息浏览;*n");printf("*n");printf("*5.返回上级菜单。*n"

14、);* *printf("* *n");printf("请输入选项N?:");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

15、()/ 录入业主信息/struct yezhu *p;p=(struct yezhu *)malloc(sizeof(struct yezhu);printf(" 请录入业主信息:n");printf("ID:");scanf("%s",p->id);printf(" 姓名 :");scanf("%s",p->name);printf(" 年龄: ");scanf("%d",&p->age);printf(" 家庭成员数

16、:");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"

17、,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; elset=phead;while(t->next!=NULL)t=t->next;t->next=p;p->next=NULL;return phead;void myReplace1()/ 修改业主信息struct yezhu *k;cha

18、r id100;printf(" 请输入要修改的业主ID:");scanf("%s",id);k=find1(id);if(k!=NULL)printf(" 请输入要修改的业主信息:n");printf("ID:");scanf("%s",k->id);printf(" 姓名 :");scanf("%s",k->name);printf(" 年龄: ");scanf("%d",&k->age

19、);printf(" 家庭成员数:");scanf("%d",&k->family_num);printf("所在楼号:");scanf("%d",&k->floor_num);printf("单元房间号:");scanf("%s",k->room_num);printf(" 住宅面积:");scanf("%d",&k->area);printf(" 入住时间:");s

20、canf("%s",k->rz_time);save1(k);printf(" 修改成功!n"); elseprintf(" 无此业主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;whil

21、e(p!=NULL) printf("nn");printf("ID:%sn",p->id);printf("姓名:%sn",p->name);printf("年龄: %dn",p->age);printf(" 家庭成员数:%dn",p->family_num);printf("所在楼号:%dn",p->floor_num);printf("单元房间号:%sn",p->room_num);printf(" 住宅

22、面积:%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(p=phead)phead=p-

23、>next; free(p); elsewhile(pp->next!=p) pp=pp->next;pp->next=p->next; free(p);elseprintf(" 无此业主ID!n");return;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);elsepr

24、intf(" 无此业主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.d

25、at","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("I*物业费用管理系统*n");printf("n");printf("* *=请选择=(15)*n");printf("* * n")

26、;printf("* *n");printf("*1.物业信息录入;*n");printf("* *n");printf("*2.物业信息修改;*n");printf("* *n");printf("*3.物业信息删除;*n");printf("* *n");printf("*4.物业信息浏览;*n");printf("* *n");printf("*5.返回上级菜单。*n");printf(&q

27、uot;I* *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;str

28、uct 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",&a

29、mp;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)/ 添加物业信息结点/struct wuye *t;if(pHead=NU

30、LL)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;while(p!=NULL)if(strcmp(p->ID,id)=0) return p;p=p->link;return NULL;void myfind()struct wuye *p;char a100;print

31、f(" 请输入要查找的业主id : ");scanf("%s",a);p=find2(a);if(p!=NULL)printf(" 业主已经存缴!n");elseprintf(" 业主尚没存缴信息!n");return;Display(p);void myReplace2()/char id20;int x;struct wuye *k;struct yezhu *t;printf(" 请输入要修改的业主ID:");scanf("%s",id);if(k!=NULL)prin

32、tf(" 您要修改的信息为:n");printf(" 请输入新的信息:n");printf("ID:");scanf("%s",k->ID);printf(" 上一次缴费年份:");scanf("%d",&k->last_year);printf(" 月份: ");scanf("%d",&k->last_month);printf(" 缴费金额:");scanf("%f&q

33、uot;,&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;pp=pHead;printf(" 请输入要删除人的ID:");scanf("%s",id);

34、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");return;save2(p);printf(" 删除成功!n");void Display2()struct wuye *p;p=pHead;while(p!=NULL)printf("ID:%sn",p->ID);%c

35、月printf(" 最 后 一 次 缴 费 日 期 : %d 年 n",p->last_year,p->last_month);printf(" 缴费金额:%f 元 n",p->money);printf("费用有效期:%cl 月 n",p->to_time);printf("nnn");p=p->link;voic Display(struct wuye *p)printf(" 业主 ID:%sn",p->ID);printf("最后一次缴费日期:

36、时 月 n",p->last_year,p->last_month);printf("最后一次缴费金额:%fn",p->money);printf("费用有效期:%cl月 n",p->to_time);voic Reac2()/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(

37、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(

38、"请输入当前年份:");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*:%sn",l->id);printf(&qu

温馨提示

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

最新文档

评论

0/150

提交评论