版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-本科生课程论文封面课 程 名 称 c 语言程序课程设计教 师 姓 名本科生姓名本科生学号本科生专业所 在 院 系类别:工科日期:-摘要:本文完成了综合练习中第20 题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、 物业收费管理, 并用文件存储相关信息。文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行 结果、总结和致谢,目录课程设计评语1个人简介2摘要2目录3题目及要求4需求分析4功能模块图4数据结构5源代码5程序运行结果21总结25致谢25参考文献251、题目要求用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理
2、。要求用文件存储相关信息。可随时浏览、录入和更改小区住户、收费项目等数据。可随时增、删、改、查收费项目及其标准。生成小区住户收费报表(包括全部、已交、欠交)。2、需求分析住户信息、物业收费信息要用文件存储 (可用一个文件, 也可分成两个文件) 因而提供文件的输入 /输出操作;另外,还要提供键盘式选择菜单以实现功能选择。3、功能模块图整个管理系统可以设计为住户信息、物业收费信息的浏览、修改、增加等模块。依据程序的数据结构和功能,遵照“自顶向下”原则,采用基于函数的逐步主函数物业信息系统统计查询系统业主信息管理收费信息管理信息删除查询缴费信息查询欠费名单求精法,描述该程序的层次结构:信信信息息息录
3、修浏入改览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;int last_year; int last_month; float money; int to_time
4、;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();/物业菜单v
5、oid 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);/保存业主信息至文件
6、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 id100; char name20; int age;int family_num; int floor_num;char room_num100; floa
7、t lost;int area;char rz_time20; 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"
8、;);printf("* * * * * * * * * * * * * * *请选择( 13)* * * * * * * * * * * * * *n");printf("* *n"); printf("* *n");printf("*物业信息系统;*n"); printf("* *n");printf("*统计查询系统;*n"); printf("* *n");printf("*退出程序。 *n"); printf("*
9、*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("请您输入选项 :"); scanf("%d",&n);return n;void xinximenu()/物业信息菜单显示 /int choose; do printf("*物业信息系统*n");printf("-n");printf("* * * * * * * * *
10、 * * * * * *请选择( 1 3) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*小区业主信息管理;*n"); printf("* *n");printf("*物业费用信息管理;*n"); printf("* *n");printf("*返回主菜单。*n");printf("* * * * * * * * * * * * * * * *
11、 * * * * * * * * * * * * * * * * * * * * * *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(&
12、quot;*统计查询系统*n");printf("-n");printf("* * * * * * * * * * * * * * *请选择( 1 3) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*查询缴费信息;*n"); printf("* *n");printf("*欠费名单一览表;*n"); printf("* *n");pr
13、intf("*返回主菜单。*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("请您输入选项 :"); scanf("%d",&choose); switch(choose)case 1 : myfind(); break;case 2 : mychaozhao(); break;case 3 : return;default: printf("输入错误
14、,请重新输入 !nn"); while(1);void yezhumenu()/业主菜单函数int choose; do printf("*业主 信息 编辑 系统*-n");printf("-n");printf("* * * * * * * * * * * * * * * *请选择( 1 5) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*业主信息录入;*n"); pri
15、ntf("* *n");printf("*业主信息修改;*n"); printf("* *n");printf("*业主信息删除;*n");printf("* *n");printf("*业主信息浏览;*n"); printf("* *n");printf("*返回上级菜单。*n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
16、 * * * * * * *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()/录入
17、业主信息 /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("家庭成员数: "
18、;);scanf("%d",&p->family_num); printf("所 在 楼 号 : "); scanf("%d",&p->floor_num); printf("单 元 房 间 号 :"); scanf("%s",p->room_num); printf("住宅面积 :");scanf("%d",&p->area);printf("入住时间: ");scanf("%
19、s",p->rz_time); myadd3(p);save1(p);printf("录入成功 !n");struct yezhu *myadd3(struct yezhu *p)/添加业主信息结点 /struct yezhu *t; if(phead=null)elsephead=p;p->next=null;t=phead;while(t->next!=null)t=t->next; t->next=p;p->next=null; return phead;void myreplace1()/修改业主信息struct yez
20、hu *k; char id100;printf("请输入要修改的业主id:");scanf("%s",id); k=find1(id); if(k!=null)elseprintf("请输入要修改的业主信息:n"); printf("id:");scanf("%s",k->id);printf("姓名:");scanf("%s",k->name);printf("年龄: ");scanf("%d",&a
21、mp;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(&q
22、uot;入住时间: ");scanf("%s",k->rz_time); save1(k);printf("修改成功 !n");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 yezh
23、u *p; p=phead; while(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->ro
24、om_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
25、); if(p!=null)if(p=phead)phead=p->next;elseelsefree(p);while(pp->next!=p) pp=pp->next;pp->next=p->next; free(p);printf("无此业主 id!n"); return;printf("删除业主信息成功 !n"); save1(p);if(k!=null)if(k=phead)elseelsephead=k->link; free(k);while(kk->link!=k) kk=kk->link;
26、kk->link=k->link; free(k);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;
27、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("* * *
28、 * * * * * * * * * * * *请选择( 15)* * * * * * * * * * * *n");printf("* * n");printf("* *n");printf("*物业信息录入;*n"); printf("* *n");printf("*物业信息修改;*n"); printf("* *n");printf("*物业信息删除;*n"); printf("* *n");printf("*
29、物业信息浏览;*n"); printf("* *n");printf("*返回上级菜单。*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("请输入选项: "); scanf("%d",&choose); switch(choose)case 1: myadd2(); break;case 2: myreplace2(); break;cas
30、e 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&q
31、uot;,p->id); t=find1(p->id); if(t!=null)printf("上一次缴费年份: "); scanf("%d",&p->last_year); printf("月 份 : "); scanf("%d",&p->last_month); printf("缴费金额: ");elsescanf("%f",&p->money); x=p->money/(0.4*t->area); p-&
32、gt;to_time=(int)x; myadd4(p);save2(p);printf("录入成功 !n");printf("无此业主 id!n"); return;struct wuye *myadd4(struct wuye *p)/添加物业信息结点 /struct wuye *t; if(phead=null)elsephead=p;p->link=null;t=phead;while(t->link!=null) t=t->link;t->link=p;p->link=null;return phead;struc
33、t 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)elseprintf("业主已经存缴 !n");printf(&qu
34、ot;业主尚没存缴信息 !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);pr
35、intf("上一次缴费年份: "); 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;elsemyadd4(
36、k); save2(k);printf("修改成功 !n");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)elseelsephead=p->link; free(p);while(pp->link!=p) pp=pp->link
37、;pp->link=p->link; free(p);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&quo
38、t;,p->money); printf("费用有效期: %d个月n",p->to_time); printf("nnn");p=p->link;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("费
39、用有效期: %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("wu
40、ye.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("请输入当前月份: "); scanf("%d",&month); while(k!=null)if(year>k->last_year)l=find1(k->id);l->lost=(float)(month+12-k->to_time-k->la
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电大考试202X-202X证据学试题题库及答案
- 53模拟试卷初中语文八年级下册16庆祝奥林匹克运动复兴25周年
- 七年级语文下册 第七单元 30 诗词五首《西江月》教案 语文版
- 高中信息技术视频的加工之高中生活点滴教案 粤教版
- 八年级道德与法治上册 第四单元 远离犯罪 第十一课 树立防范意识《不良行为、严重不良行为与犯罪行为》教学设计 教科版
- 高中信息技术 使用数据库管理信息的基本思想与方法教案 沪教版必修1
- 七年级英语下册 Unit 1 A Trip to the Silk Road Lesson 5 Another Stop along the Silk Road教案 (新版)冀教版
- 毛石购销合同模板
- 工地粉刷劳务合同模板
- 购款合同模板
- 如愿三声部合唱简谱
- 烘干安全操作规程
- 苏教版一年级上册综合实践活动教案
- 高考文言文阅读模拟训练:《吕氏春秋-慎人》(附答案与译文)
- 主动脉瘤及穿透性溃疡的影像诊断演示文稿
- 降低阴式分娩产后出血发生率-PDCA
- 医学伦理学人体实验
- 2023年饮湖上《饮湖上初晴后雨》教案(5篇)
- 普外科科室医疗质量持续改进记录
- 未成年消费退款协议范本
- GB/T 37735-2019信息技术云计算云服务计量指标
评论
0/150
提交评论