收藏 分销(赏)

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

上传人:快乐****生活 文档编号:3937171 上传时间:2024-07-24 格式:DOC 页数:19 大小:61.54KB 下载积分:8 金币
下载 相关 举报
物业管理系统C语言程序实习报告材料.doc_第1页
第1页 / 共19页
物业管理系统C语言程序实习报告材料.doc_第2页
第2页 / 共19页


点击查看更多>>
资源描述
本科生课程论文封面 课程名称 C语言程序课程设计 教师姓名 本科生姓名 本科生学号 本科生专业 所在院系 类别: 工科 日期: 摘要: 本文完成了综合练习中第20题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理,并用文件存储相关信息。文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行结果、总结和致谢, 目录 课程设计评语。。。。..。..。。。.。。。..。.。。...。..。。。.。。..。。...。.。.。..。。.。..。.。。。。......。..。...........。。..。...。。.......。。。。。..。.。.。..。.......。。。.。..。..。1 个人简介。。。.。.。。。。。..。.。..。。。。。.。..。.。.。.。。.。。.。.。.。。.。。..。.。.。..。..。。。.。......。。。。..。。。。...。.。。..。.。。.....。。..。。...。。..。.。..。.。...。。。..。。。。。....。.2 摘要。。.。.。...。。。。.。。。.。。。.。.....。.....。。。.。...。。。..。。...。。...。.........。。..。。。。。。。。.。.。。..。。。.。。。.。.。..。.。.。。..。。。。。.....。.......。..。。。..。....。。。。.。。..2 目录...。..。..。.。。。。。。.....。。。.。.。。.。.。。.。..。。。。.。.。。.。.。。。..。.。...。。。。。。.。。。.。.。..。。.。....。.。....。....。.。。.。。。..。.。...。。.。..。。.。..。.。。...。..。..。.。..。..3 题目及要求。.。。.。。..。。..。。..。.。。.。。.。。。.。。。...。。。.。。。....。。.。。。。.。。...。。。.。。..。.。..。。。.。。。.。...。..。。。。。.。。..。.。...。。。.。.。.。...。..。。。..。..。。。。。。.。。4 需求分析.。.。......。。。。..。。.。.。。。...。..。。..。.。。...。..。.。.。.。.。.....。...。。.....。。。..。。...。.。.。。。.。。..。。。.。.。。。.。.。。。。。。。.。。....。.。...。。。.。。。.。。。。....4 功能模块图.。...。。.。..。...。.。。..。。。。.。.。。.。..。....。。.。....。。。.。。。。..。..。。。。。。.。....。。。。...。...。。。.....。。.。..。.。。..。。。.。...。.。。。....。。.。。.。.。。.。。。。4 数据结构.。..。.。.。。。..。.。。。。。。。...。。。。。.。。...。。。。。........。.。.。.。.。。。.。。.。。...。。。.。。...。.。。.。.。。.。..。。。.。。。。..。。.。.。。。..。.。.。。.。..。。。。.。.....。。.。.。。5 源代码..。。...。.。。。。...。..。。。。。。。。..。...........。..。。..。.。。.。。.。.。。.。..。..。.。。.。.。...。...。....。.。..。。。..。。。.。.。....。.。。。。..。....。...。。。.。.。.。。。.。。。.。.5 程序运行结果。.....。。。。。。.。.。...。。.。.。...。..。.。。....。.。..。.....。...。。。..。。。.。。...。。。。.。..。。。...。..。..。.。...。。.。...。.。。。.。。。。。.。。。.。....。。.。。.。。21 总结.....。。..。.。。...。。....。。。.。....。.。。..。.。。。.。。.。......。....。.。。.。.。.....。.。。。。....。。。。。。。.。..。。..。..。。。。..。。。。..。。。.。。..。.。。..。。........。.。。.。。。。..25 致谢..。.。..。..。.。...。.。....。..。..。。..。。.。.。。.。.。。。.。。.。..。.。..。。.。。.。。..。。..。.....。。。.。。。.。...。。.....。.....。。。。.。。.。..。.。。..。。。..。。。。......。....。。。.。。25 参考文献.。.。...。。.。。.。。。..。。.。。。。。。.。。....。。。.。...。.。.......。......。。。.。。.。..。。。........。...。.。。。。。......。..。。....。.。..。.。.。。。.。。。...。..。。。.。.。。。。25 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("姓名:”); 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("姓名:”); 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("姓名:%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)//通过姓名查找缴费信息// { 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=
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 报告/总结

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服