物业管理系统C语言程序实习报告.docx

上传人:b****6 文档编号:7899421 上传时间:2023-01-27 格式:DOCX 页数:24 大小:42.05KB
下载 相关 举报
物业管理系统C语言程序实习报告.docx_第1页
第1页 / 共24页
物业管理系统C语言程序实习报告.docx_第2页
第2页 / 共24页
物业管理系统C语言程序实习报告.docx_第3页
第3页 / 共24页
物业管理系统C语言程序实习报告.docx_第4页
第4页 / 共24页
物业管理系统C语言程序实习报告.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

物业管理系统C语言程序实习报告.docx

《物业管理系统C语言程序实习报告.docx》由会员分享,可在线阅读,更多相关《物业管理系统C语言程序实习报告.docx(24页珍藏版)》请在冰豆网上搜索。

物业管理系统C语言程序实习报告.docx

物业管理系统C语言程序实习报告

1、题目要求

用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。

要求用文件存储相关信息。

⑴可随时浏览、录入和更改小区住户、收费项目等数据。

⑵可随时增、删、改、查收费项目及其标准。

⑶生成小区住户收费报表(包括全部、已交、欠交)。

2、需求分析

住户信息、物业收费信息要用文件存储(可用一个文件,也可分成两个文件)因而提供文件的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。

3、功能模块图

整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。

依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步求精法,描述该程序的层次结构:

 

4、数据结构

可以把住户信息、物业收费信息分别放在两个结构体。

住户信息结构体:

structyezhu{//业主结构体//

charid[100];

charname[20];

intage;

intfamily_num;

intfloor_num;

charroom_num[100];

floatlost;

intarea;

charrz_time[20];

structyezhu*next;

};

物业收费信息结构体:

structwuye{//物业信息结构体//

charID[100];

intlast_year;

intlast_month;

floatmoney;

intto_time;

structwuye*link;

};

 

5、源代码

程序:

#include

#include

#include

#include

#include//函数声明//

intmainmenu();//主菜单

voidxinximenu();//物业信息菜单

voidtongjimenu();//统计查询菜单

voidmychaozhao();//欠费

voidyezhumenu();//业主菜单

voidwuyemenu();//物业菜单

voidmyAdd1();//录入业主信息

voidmyAdd2();//录入物业信息

voidmyDelete1();//删除业主信息

voidmyDelete2();//删除物业信息

voidmyReplace1();//修改业主信息

voidmyReplace2();//修改物业信息

voidDisplay1();//浏览业主信息

voidDisplay2();//浏览物业信息

voidmyfind();//查询缴费

voidDisplay(structwuye*p);

voidRead1();

voidRead2();

voidsave1(structyezhu*p);//保存业主信息至文件

voidsave2(structwuye*p);//保存物业信息至文件

structyezhu*find1(char*id);//查找业主信息

structwuye*find2(char*id);//查找物业信息`

structyezhu*myAdd3(structyezhu*p);//添加业主信息

structwuye*myAdd4(structwuye*p);

structyezhu{//业主结构体//

charid[100];

charname[20];

intage;

intfamily_num;

intfloor_num;

charroom_num[100];

floatlost;

intarea;

charrz_time[20];

structyezhu*next;

};

structwuye{//物业信息结构体//

charID[100];

intlast_year;

intlast_month;

floatmoney;

intto_time;

structwuye*link;

};

structyezhu*phead;//业主头结点

structwuye*pHead;//物业头结点

intmainmenu()//主菜单//

{

intn;

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);

returnn;

}

voidxinximenu()//物业信息菜单显示//

{

intchoose;

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)

{

case1:

yezhumenu();

break;

case2:

wuyemenu();

break;

case3:

return;

default:

printf("输入错误,请重新输入:

\n");

}

}while

(1);

}

voidtongjimenu()//统计查询菜单显示//

{

intchoose;

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)

{

case1:

myfind();

break;

case2:

mychaozhao();

break;

case3:

return;

default:

printf("输入错误,请重新输入!

\n\n");

}

}while

(1);

}

voidyezhumenu()//业主菜单函数

{

intchoose;

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)

{

case1:

myAdd1();

break;

case2:

myReplace1();

break;

case3:

myDelete1();

break;

case4:

Display1();

break;

case5:

return;

default:

printf("输入错误,请重新输入:

\n");

}

}while

(1);

}

voidmyAdd1()//录入业主信息//

{

structyezhu*p;

p=(structyezhu*)malloc(sizeof(structyezhu));

printf("请录入业主信息:

\n");

printf("ID:

");

scanf("%s",p->id);

printf("姓名:

");

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");

}

structyezhu*myAdd3(structyezhu*p)//添加业主信息结点//

{

structyezhu*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;

returnphead;

}

}

voidmyReplace1()//修改业主信息

{

structyezhu*k;

charid[100];

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);

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;

}

}

structyezhu*find1(char*id)//通过ID查找业主信息//

{

structyezhu*p;

p=phead;

while(p!

=NULL)

{

if(strcmp(p->id,id)==0)

returnp;

p=p->next;

}

returnNULL;

}

voidDisplay1()

{

structyezhu*p;

p=phead;

while(p!

=NULL)

{

printf("\n\n");

printf("ID:

%s\n",p->id);

printf("姓名:

%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;

}

}

voidmyDelete1()

{

structyezhu*p,*pp;

structwuye*k,*kk;

charid[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);

}

voidsave1(structyezhu*p)

{

FILE*fp;

fp=fopen("yezhu.dat","wb");

p=phead;

while(p!

=NULL)

{

fwrite(p,sizeof(structyezhu),1,fp);

p=p->next;

}

fclose(fp);

}

voidRead1()

{

FILE*fp;

structyezhu*p;

fp=fopen("yezhu.dat","rb");

while

(1)

{

p=(structyezhu*)malloc(sizeof(structyezhu));

if(feof(fp))

{

break;

}

if(fread(p,sizeof(structyezhu),1,fp))

{

myAdd3(p);

}

}

fclose(fp);

}

voidwuyemenu()

{

intchoose=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)

{

case1:

myAdd2();

break;

case2:

myReplace2();

break;

case3:

myDelete2();

break;

case4:

Display2();

break;

case5:

return;

default:

printf("输入错误,请重新输入:

\n");

}

}while

(1);

}

voidmyAdd2()//录入物业信息//

{

structwuye*p;

structyezhu*t;

intx;

p=(structwuye*)malloc(sizeof(structwuye));

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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1