大二上学期 数据结构 期末实训
开发系统 :小区物业管理系统
题 目 | 小区物业管理系统 |
---|---|
学院 | 计算机信息与工程学院 |
专业 | 计算机科学与技术专业 |
班 级 | 1701 |
学 号 | 2017115010124、2017115010126、2017115010107 |
姓 名 | 周琛(组长)、陶逸辉(组员)、李春菊(组员) |
开发时间 | 大二上学期 数据结构 期末实训 |
还是花了一些心血的!!!!感觉不错的帮忙点个 star呗!
嘻嘻嘻!😀
组长:周琛
组员:李春菊、陶逸辉
- vs系列工具可直接打开(例如vs2010)
也可以自行拆解;运行代码。
- head.h : 头函数
- Array.h : 函数定义
- main.c : 主函数入口
- Array_achieve.c : 函数体(函数实现)
(1)居民信息管理:建立住户信息库,实现住户档案数据的计算机化管理,使居民的登记与查询简易而快速,对居民的信息查询应有一定的权限检测,按权限进行查询,分级管理,同是应有更新功能。
(2)物业收费管理:对纳入社区收费管理的收费项目进行电子收费管理(主要是指对煤气表、电表、水表的自动抄表与电子收费),提供应缴费用的查询、定期催缴、收费项目和计费方式的变更维护、定期统计收费情况等功能,同时将其他各子系统相应的收费信息递交收费管理中进行统一结算。
(3)来客访问管理:对出入小区的外来人员进行人员信息、出入信息的登记、汇总、监督管理,并提供查询功能。
(4)设备报修管理:对日常设备的报修信息进行登记,对设备报修,及其处理情况有查询、考核与统计等管理功能,定期产生考核情况明细,报修信息的录入具有多条途径,相应的费用通过收费管理功能进行统一的结算。
住户信息、物业收费信息要用文件储存(来客访问管理、设备报修管理原理是一样的)因而提供文件的输入/输出操作;另外,还要提供键盘选择菜单以实现功能选择。 首先充分了解到用户的各个方面需求,包括现有的以及将来可能增加的需求,通过对洛阳周边小区进行详细的实地考察以及利用网络等多种渠道,了解到洛阳本地在小区物业管理方面的一-些现状以及业主、物业管理人员对小区物业管理系统的各种要求,业主可以查看缴费信息,查看公告信息,进而获得自己所需要知道的物业管理信息,因此查看这两种信息不能对其进行数据的修改、编辑;业主可以参与报修,将所需要维修的设备信息保存。
该程序具有菜单栏,信息输入,信息搜索,信息查找,信息修改,信息删除,读取文件,录入文件等功能。 (1)菜单栏模块:使用printf,switch case语句编写菜单。 (2)信息输入模块:主要运用for语句,printf语句,scanf语句。 (3)信息搜索模块:主要运用if和scanf语句,可以通过编号来搜索信息。 (4)信息查找模块:主要运用if和scanf语句,可以通过名称来查找信息。 (5)信息修改模块:主要运用if,scanf,printf语句,可以通过输入编号修改信息。 (6)信息删除模块:主要运用if,for循环语句寻找需要删除的采购信息,然后使用scanf语句删除。 (7)读取文件模块:主要功能是读取外部文件数据,实现输入功能。 (8)录入文件模块:主要功能是将输入的信息存入外部文件。
启动主函数后,界面会首先出现菜单画面,然后根据提示选择所需的功能,通过switch语句调用相应的功能。
主要功能函数分析
可以把住户信息、物业收费信息、来客访问管理、设备报修管理分别放在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;
};
来客访问管理结构体:
struct Foreign_personnel
{
//来客访问管理结构体
char id[100];
char name[20];
int age;
char car_License_plate[100];//车牌号
int Parking_space_num;//停车位号
char come_time[20];
char leave_time[20];
struct Foreign_personnel *next;
};
设备报修管理结构体:
struct Equipment_record
{
//设备报修管理结构体
char name[20];
char room_num[100];
int floor_num;
char time[20];//维修时间
char Whether_deal_with[100];//是否进行处理
struct Equipment_record *next;
图5 业主信息保存
图7 外来人员信息录入
图11 设备保修信息修改
这次课程设计为期约3星期,虽然时间不长,但感受很深。此次实训是分为3个人一组来进行对C语言数据结构的学习与巩固,与之前的实训方式有所不同,对每个人的能力来完成相应的编码,实现分组完成一个完整的功能实现。无论是在学习知识,还是在解决问题的能力上都有了深刻的认识。 首先就是对理论知识的进一步巩固,再一次接触C语言的数据类型、语句、数组、指针结构等等一系列与c语言有关的东西,通过“庖丁解牛”,我开始懂得不管一个程序多么复杂,其实它都是由最基本的函数组成,只要我们弄清结构、一切都会迎刃而解。
编程是一项考验综合能力的事情,仅仅有课本知识还不够,必须要有自己的知识框架才能通过所学理论解决实际问题。尽管只有八天,但我却碰到许多问题,诸如无法抽象出问题模型,不知道用哪一个或哪几个知识点来解决问题等等,并且一开始设计的程序冗长复杂,效率低,通过与同学的交流和在老师的帮助下,让程序成功地运行,虽然不是自己全部编写的。说实话,我还没达到完全靠自己编写的能力。通过在网上找答案并进行修改调试,还是坚持了下来并取得了成功。此次实习很有意义,它将教会我不断的提高自己的时间能力,挖掘自己解决问题的能力。