C++小区物业管理系统课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1华科学院信息管理与信息系统专业《程序设计综合课程设计》报告(2011/2012学年第一学期)学生姓名:王奥辉学生班级:信息管理102202H学生学号:201022040217指导教师:薛颂东20011年12月30日2小区物业管理3目录1、课程设计的目的及要求............................................42、课程设计任务....................................................53、设计内容........................................................64、程序的编码与实现...............................................255、课程设计心得与体会.............................................286、程序源代码.....................................................294第一章课程设计的目的及要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。本课程设计的目的和任务:1.巩固和加深学生对C++语言课程的基本知识的理解和掌握。2.掌握C++语言编程和程序调试的基本技能。3.利用C++语言进行基本的软件设计。4.掌握书写程序设计说明文档的能力。5.提高运用C++语言解决实际问题的能力。1.2课程设计要求进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++语言解决实际问题的能力,为以后后续课程的学习打好基础。5第二章课程设计任务2.1课程设计题目小区物业管理系统2.2课程设计实现可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。6第三章设计内容3.1需求分析3.1.1系统分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。3.1.2功能分析小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息;——小区管理系统主要提供以下功能:1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能——输入4.住户信息增加、修改、查询功能(1)按住户名(2)按房间号5.住户信息浏览功能——显示6.住户信息删除功能73.2总体设计3.2.1开始登录界面图3-2-1开始登录界面3.2.2各部分函数功能整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。各个函数的详细设计说明分别如下:1.增加数据功能:基本原理是用指针*P来创建一个存储单元,来存储住户的信息:住户的姓名、性别、电话号码、身份证号码。然后再和链变相连,有结构体链表来存储所有住户的信息。*MP指针只想最后一个结构体链表的最后一个结构体。2.修改数据功能:与增加数据功能输入方式一样3.信息浏览功能:用printf来显示住户的信息,并且用for循环来实现所有的住户信息都能显示出。voidDisplay(peoplepeople[],intn)/*显示所有记录*/{inti;printf(\t\t\t-----------------------------------\n);/*格式头*/printf(\t\t\tnumbernametel\n);printf(\t\t\t-----------------------------------\n);for(i=1;in+1;i++)/*循环输入*/8{printf(\t\t\t%-16s%-15s%d\n,people[i-1].num,people[i-1].name,people[i-21].tel);if(i1&&i%10==0)/*每十个暂停*/{printf(\t\t\t-----------------------------------\n);/*格式*/printf(\t\t\t);system(pause);printf(\t\t\t-----------------------------------\n);}}printf(\t\t\t);system(pause);}4.信息删除功能:首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。intDelete_a_record(peoplepeople[],intn)/*按姓名查找,删除一条记录*/{chars[20];inti=0,j;printf(\t\t\ttellmehis(her)name:);/*交互式问寻*/scanf(%s,s);while(strcmp(people[i].name,s)!=0&&in)i++;/*查找判断*/if(i==n){printf(\t\t\tnotfind!\n);/*返回失败信息*/return(n);}for(j=i;jn-1;j++)/*删除操作*/{strcpy(stud[j].num,people[j+1].num);strcpy(stud[j].name,peoplestud[j+1].name);people[j].tel=people[j+1].tel;}printf(\t\t\tDeleteSuccessed!\n);/*返回成功信息*/9return(n-1);}voidQuery_a_record(peoplepeople[],intn)/*查找并显示一个记录*/{chars[20];inti=0;printf(\t\t\tinputhis(her)name:);/*交互式输入*/scanf(\t\t\t%s,s);while(strcmp(people[i].name,s)!=0&&in)i++;/*查找判断*/if(i==n){printf(\t\t\tnotfind!\n);/*输入失败信息*/return;}printf(\t\t\this(her)number:%s\n,people[i].num);/*输出该学生信息*/printf(\t\t\this(her)tel:%d\n,people[i].tel);}intAddfromText(peoplepeople[],intn)/*从文件中读入数据*/{inti=0,num;FILE*fp;/*定义文件指针*/charfilename[20];/*定义文件名*/printf(\t\t\tInputthefilename:);scanf(\t\t\t%s,filename);/*输入文件名*/if((fp=fopen(filename,rb))==NULL)/*打开文件*/{printf(\t\t\tcann'topenthefile\n);/*打开失败信息*/printf(\t\t\t);system(pause);return(n);}fscanf(fp,%d,&num);/*读入总记录量*/while(inum)/*循环读入数据*/{fscanf(fp,%s%s%d,peole[n+i].num,people[n+i].name,&people[n+i].tel);i++;}n+=num;fclose(fp);/*关闭文件*/10printf(\t\t\tSuccessed!\n);printf(\t\t\t);system(pause);return(n);}voidWritetoText(Studentpeople[],intn)/*将所有记录写入文件*/{inti=0;FILE*fp;/*定义文件指针*/charfilename[20];/*定义文件名*/printf(\t\t\tWriteRecordstoaTextFile\n);/*输入文件名*/printf(\t\t\tInputthefilename:);scanf(\t\t\t%s,filename);if((fp=fopen(filename,w))==NULL)/*打开文件*/{printf(\t\t\tcann'topenthefile\n);system(pause);return;}fprintf(fp,%d\n,n);/*循环写入数据*/while(in){fprintf(fp,%-16s%-15s%d\n,people[i].num,people[i].name,people[i].tel);i++;}fclose(fp);/*关闭文件*/printf(Successed!\n);/*返回成功信息*/}6.退出系统功能。11小区物业管理系统3.3详细设计3.3.1系统功能模块图3-3-1系统功能模块图菜单(登录界面、主菜单)输入数据增加数据修改数据信息查询信息浏览信息删除按用户名按房间号退出系统123.3.2系统设计1.系统操作流程图NYYN图3-3-2系统操作流程图开始登录界面增加数据输入要增加的住户的信息继续添加?修改数据输入要修改的住户的信息继续修改?信息查询选择查询方式输入用户名输入房间号信息浏览信息删除信息删除132.各部分详细流程1)增加数据{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;out.open(E:\\a.dat,ios::app);do{cout请输入您要增加的住户的姓名:endl;cinname;coutendl请输入住户性别:;cinsex;coutendl请输入其房间号:;cinroom_num;coutendl请输入其车库号:;cinparking;coutendl请输入联系电话:;cinphone_num;coutendl请输入身份证号:;cinID_num;coutendl;outsetw(20)namesetw(5)sexsetw(10)room_numsetw(10)parkingsetw(20)phone_numsetw(20)ID_num;//文件输入cout数据添加成功,想继续添加吗?y/n:endl;cinc;coutendl;14if(c=='n')break;if(c!='y'&&c!='n'){cout指令错误!请重新输入!endl;cinc;}}while(c=='y');out.close();break;}2)修改数据{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20],c;charna[20],s,room[10],park[10],phone[20],ID[20];do{intflag=0;cout请输入您要修改的住户的姓名:endl;cinna;coutendl;f.open(E:\\a.dat,ios::in|ios::out);f.seekg(0,ios::beg);f.clear();while(!f.eof()){fname;if(strcmp(name,na)==0)15{flag=1;cout请输入您要修

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功