C++小区物业管理系统课程设计.doc
《C++小区物业管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《C++小区物业管理系统课程设计.doc(140页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+小区物业管理系统课程设计JOHN 华科学院信息管理与信息系统专业 程序设计综合课程设计报告 (2011/2012学年 第一学期)学生姓名: 王奥辉 学生班级: 信息管理102202H学生学号: 201022040217指导教师: 薛颂东 20011年12月30日小区物业管理 目 录1、课程设计的目的及要求.42、课程设计任务.53、设计内容.64、程序的编码与实现
2、.255、课程设计心得与体会.286、程序源代码.29第一章 课程设计的目的及要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计基础(C+)课程后进行的一次全面的综合设计。本课程设计的目的和任务:1. 巩固和加深学生对C+语言课程的基本知识的理解和掌握。2. 掌握C+语言编程和程序调试的基本技能。3. 利用C+语言进行基本的软件设计。4. 掌握书写程序设计说明文档的能力。5. 提高运用C+语言解决实际问题的能力。1.2课程设计要求 进一步巩固C+程序设计所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视
3、化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C+ 语言解决实际问题的能力,为以后后续课程的学习打好基础。第二章 课程设计任务2.1 课程设计题目 小区物业管理系统2.2 课程设计实现可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。第三章 设计内容3.1需求分析3.1.1系统分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。3.1.2功能分析小区管理系统包括小区成
4、员的所住单元、住户号、工作单位、姓名、电话号码等信息;小区管理系统主要提供以下功能: 1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能输入4.住户信息增加、修改、查询功能(1)按住户名 (2)按房间号5.住户信息浏览功能显示6.住户信息删除功能3.2总体设计3.2.1开始登录界面图3-2-1 开始登录界面3.2.2各部分函数功能整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。各个函数的详细设计说明分别如下:1. 增加数据功能:基本原理
5、是用指针*P来创建一个存储单元,来存储住户的信息:住户的姓名、性别、电话号码、身份证号码。然后再和链变相连,有结构体链表来存储所有住户的信息。*指针只想最后一个结构体链表的最后一个结构体。2.修改数据功能:与增加数据功能输入方式一样3.信息浏览功能:用printf来显示住户的信息,并且用for循环来实现所有的住户信息都能显示出。void Display(people people,int n) /*显示所有记录*/ int i; printf(ttt-n); /*格式头*/ printf(tttnumber name teln); printf(ttt-n); for(i=1;i1&i%10=
6、0) /*每十个暂停*/ printf(ttt-n); /*格式*/ printf(ttt); system(pause); printf(ttt-n); printf(ttt); system(pause); 4.信息删除功能:首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。 首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。int Delete_a_record(people people ,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf(ttttell m
7、e his(her) name:); /*交互式问寻*/ scanf(%s,s); while(strcmp(peoplei.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tttnot find!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(studj.num, people j+1.num); strcpy(studj.name, people studj+1.name); people j.tel= people j+1.tel; printf(tttDelete Success
8、ed!n); /*返回成功信息*/ return(n-1); void Query_a_record(people people,int n) /*查找并显示一个记录*/ char s20; int i=0; printf(tttinput his(her) name:); /*交互式输入*/ scanf(ttt%s,s); while(strcmp(peoplei.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tttnot find!n); /*输入失败信息*/ return; printf(ttthis(her) number:%sn,peoplei
9、.num); /*输出该学生信息*/ printf(ttthis(her) tel:%dn,peoplei.tel); int AddfromText(people people,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(tttInput the filename:); scanf(ttt%s,filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(tttcannt open the
10、 filen); /*打开失败信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d,&num); /*读入总记录量*/ while(inum) /*循环读入数据*/ fscanf(fp,%s%s%d,peolen+i.num,peoplen+i.name,&peoplen+i.tel); i+; n+=num; fclose(fp); /*关闭文件*/ printf(tttSuccessed!n); printf(ttt); system(pause); return(n); void WritetoText(Student peop
11、le,int n) /*将所有记录写入文件*/ int i=0; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(tttWrite Records to a Text Filen); /*输入文件名*/ printf(tttInput the filename:); scanf(ttt%s,filename); if(fp=fopen(filename,w)=NULL) /*打开文件*/ printf(tttcannt open the filen); system(pause); return; fprintf(fp,%dn,n)
12、; /*循环写入数据*/ while(in) fprintf(fp,%-16s%-15s%dn,peoplei.num,peoplei.name,peoplei.tel); i+; fclose(fp); /*关闭文件*/ printf(Successed!n); /*返回成功信息*/ 6.退出系统功能。3.3详细设计3.3.1系统功能模块小区物业管理系统菜单(登录界面、主菜单)退出系统信息浏览信息删除修改数据增加数据信息查询输入数据按房间号按用户名图3-3-1 系统功能模块图3.3.2系统设计1.系统操作流程图开始登录界面信息删除信息删除信息浏览信息查询增加数据修改数据选择查询方式输入要增加
13、的住户的信息输入要修改的住户的信息继续修改?继续添加? N Y Y N输入房间号输入用户名图3-3-2 系统操作流程图2.各部分详细流程1)增加数据 char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; out.open(E:a.dat,ios:app); do cout请输入您要增加的住户的姓名:name; coutendlsex; coutendlroom_num; coutendlparking; coutendlphone_num; coutendlID_num; coutendl; outsetw(20)namese
14、tw(5)sexsetw(10)room_numsetw(10)parkingsetw(20)phone_numsetw(20)ID_num; /文件输入 cout 数据添加成功,想继续添加吗? y / n :c; coutendl; if(c=n)break; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); out.close(); break; 2)修改数据char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; char na20,s,room10,park10,phone2
15、0,ID20; do int flag=0; cout 请输入您要修改的住户的姓名:na; coutname; if(strcmp(name,na)=0) flag=1; cout请输入您要修改的住户的姓名:na; coutroom; coutendls; coutendlroom; coutendlpark; coutendlphone; coutendlID; coutendl; sex=s; strcpy(room_num,room); strcpy(parking,park); strcpy(ID_num,ID); strcpy(phone_num,phone); f.seekp(-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 小区 物业管理 系统 课程设计
限制150内