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

上传人:牧羊曲112 文档编号:2035756 上传时间:2023-01-02 格式:DOCX 页数:48 大小:318.47KB
返回 下载 相关 举报
C++小区物业管理系统课程设计.docx_第1页
第1页 / 共48页
C++小区物业管理系统课程设计.docx_第2页
第2页 / 共48页
C++小区物业管理系统课程设计.docx_第3页
第3页 / 共48页
C++小区物业管理系统课程设计.docx_第4页
第4页 / 共48页
C++小区物业管理系统课程设计.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《C++小区物业管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《C++小区物业管理系统课程设计.docx(48页珍藏版)》请在三一办公上搜索。

1、 华科学院信息管理与信息系统专业 程序设计综合课程设计报告 (2011/2012学年 第一学期)学生姓名: 王奥辉 学生班级: 信息管理102202H学生学号: 201022040217指导教师: 薛颂东 20011年12月30日小区物业管理 目 录1、课程设计的目的及要求.42、课程设计任务.53、设计内容.64、程序的编码与实现.255、课程设计心得与体会.286、程序源代码.29第一章 课程设计的目的及要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计基础(C+)课程后进行的一次全面的综合设计。本课程设计的目的和任务:1. 巩固和加深学生对

2、C+语言课程的基本知识的理解和掌握。2. 掌握C+语言编程和程序调试的基本技能。3. 利用C+语言进行基本的软件设计。4. 掌握书写程序设计说明文档的能力。5. 提高运用C+语言解决实际问题的能力。1.2课程设计要求 进一步巩固C+程序设计所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C+ 语言解决实际问题的能力,为以后后续课程的学习打好基础。第二章 课程设计任务2.1 课程设计题目 小区物业管理系统2.2 课程设计实现可以通过操作

3、输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。第三章 设计内容3.1需求分析3.1.1系统分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。3.1.2功能分析小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息;小区管理系统主要提供以下功能: 1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能输入4.住户信息增加、修改、查询功能(1)按住户名 (2)按

4、房间号5.住户信息浏览功能显示6.住户信息删除功能3.2总体设计3.2.1开始登录界面图3-2-1 开始登录界面3.2.2各部分函数功能整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。各个函数的详细设计说明分别如下:1. 增加数据功能:基本原理是用指针*P来创建一个存储单元,来存储住户的信息:住户的姓名、性别、电话号码、身份证号码。然后再和链变相连,有结构体链表来存储所有住户的信息。*指针只想最后一个结构体链表的最后一个结构体。2.修改数据功能:与增加数据功能输入方式一样3.信息浏览功能:用printf来

5、显示住户的信息,并且用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=0) /*每十个暂停*/ printf(ttt-n); /*格式*/ printf(ttt); system(pause); printf(ttt-n); printf(ttt); system(pause); 4.信息删除功能:首先用指针找到此住户的前驱和后续,然

6、后让前驱的NEXT指向后续,就删除所要删除的信息了。 首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删除的信息了。int Delete_a_record(people people ,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf(ttttell me his(her) name:); /*交互式问寻*/ scanf(%s,s); while(strcmp(peoplei.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tttnot find!n); /*返回失败信息*/

7、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 Successed!n); /*返回成功信息*/ return(n-1); void Query_a_record(people people,int n) /*查找并显示一个记录*/ char s20; int i=0; printf(tttinput his(her) nam

8、e:); /*交互式输入*/ 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.num); /*输出该学生信息*/ printf(ttthis(her) tel:%dn,peoplei.tel); int AddfromText(people people,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp;

9、/*定义文件指针*/ char filename20; /*定义文件名*/ printf(tttInput the filename:); scanf(ttt%s,filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(tttcannt open the filen); /*打开失败信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d,&num); /*读入总记录量*/ while(inum) /*循环读入数据*/ fscanf(fp,%s%s%d,peo

10、len+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 people,int n) /*将所有记录写入文件*/ int i=0; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(tttWrite Records to a Text Filen); /*输入文件名*/

11、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); /*循环写入数据*/ while(in) fprintf(fp,%-16s%-15s%dn,peoplei.num,peoplei.name,peoplei.tel); i+; fclose(fp); /*关闭文件*/ printf(Successed!n);

12、/*返回成功信息*/ 6.退出系统功能。3.3详细设计3.3.1系统功能模块小区物业管理系统菜单(登录界面、主菜单)退出系统信息浏览信息删除修改数据增加数据信息查询输入数据按房间号按用户名图3-3-1 系统功能模块图3.3.2系统设计1.系统操作流程图开始登录界面信息删除信息删除信息浏览信息查询增加数据修改数据选择查询方式输入要增加的住户的信息输入要修改的住户的信息继续修改?继续添加? N Y Y N输入房间号输入用户名图3-3-2 系统操作流程图2.各部分详细流程1)增加数据 char name20,sex,room_num10,parking10,phone_num20,ID_num20,

13、c; out.open(E:a.dat,ios:app); do cout请输入您要增加的住户的姓名:name; coutendlsex; coutendlroom_num; coutendlparking; coutendlphone_num; coutendlID_num; coutendl; outsetw(20)namesetw(5)sexsetw(10)room_numsetw(10)parkingsetw(20)phone_numsetw(20)ID_num; /文件输入 cout 数据添加成功,想继续添加吗? y / n :c; coutendl; if(c=n)break; i

14、f(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,phone20,ID20; do int flag=0; cout 请输入您要修改的住户的姓名:na; coutname; if(strcmp(name,na)=0) flag=1; cout请输入您要修改的住户的姓名:na; coutroom; coutendls; cout

15、endlroom; coutendlpark; coutendlphone; coutendlID; coutendl; sex=s; strcpy(room_num,room); strcpy(parking,park); strcpy(ID_num,ID); strcpy(phone_num,phone); f.seekp(-20l,ios:cur); fsetw(20)nasetw(5)ssetw(10)roomsetw(10)parksetw(20)phonesetw(20)ID; /文件输入 cout 修改成功! endlendl;break; f.close(); if(flag=

16、0) cout 您要修改的住户不存在!endlendl; cout 您想继续修改吗? y / n :c; coutendl; if(c=n)break; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc;while(c=y); break;3)信息查询 char name20,sex,room_num10,room10,parking10,phone_num20,ID_num20; cout 请选择您要进行查询的方式:endlendl 1.按住户名查询endlendl 2.按房间号查询endlk; switch(k) case 1: /按住户名查询 char na20;c

17、har c; do in.open(E:a.dat,ios:in); in.seekg(0,ios:beg); in.clear(); int flag=0; cout 请输入你要查询的住户姓名:na; coutnamesexroom_numparkingphone_numID_num; if(strcmp(name,na)=0) flag=1; cout 您要查询的住户:name 的信息是: endlendl; cout姓名 性别 房间号 车库号 电话号码 身份证号 endl;coutsetw(2)namesetw(5)sexsetw(10)room_numsetw(10)parkingse

18、tw(20)phone_numsetw(20)ID_numendl; in.close(); if(flag=0) cout 对不起!您要查询的住户不存在!endlendl; coutc; coutendl; if(c=n)break; if(c!=y&c!=n) cout 指令错误!请重新输入!c; while(c=y);break; case 2 : /按房间号查询 do int flag=0; cout 请输入你要查询的房间号:room; coutnamesexroom_numparkingphone_numID_num; if(strcmp(room_num,room)=0) flag

19、=1; cout您要查询的住户:name的信息是: endlendl; cout姓名 性别 房间号 车库号 电话号码 身份证号 endl; coutsetw(2)namesetw(5)sexsetw(10)room_numsetw(10)parkingsetw(20)phone_numsetw(20)ID_numendl; in.close(); if(flag=0) cout 对不起!您要查询的住户不存在!endl; coutc; coutendl; if(c=n)break; if(c!=y&c!=n)cout 指令错误!请重新输入!c;while(c=y); break; default

20、:cout对不起,您输入的指令有误:;break; break;4)信息浏览char name20,sex,room_num10,parking10,phone_num20,ID_num20; in.open(E:a.dat,ios:in); in.seekg(0,ios:beg); in.clear(); if(in.get()=EOF)cout 文件中已无数据endlendl;in.close();break; cout 本系统所有学生数据如下:endlendl; cout姓名 性别 房间号 车库号 电话号码 身份证号 namesexroom_numparkingphone_numID_n

21、um; coutsetw(2)namesetw(5)sexsetw(10)room_numsetw(10)parkingsetw(20)phone_numsetw(20)ID_numendl; in.close(); break; 5)信息删除char name20,na20,sex,room_num10,parking10,phone_num20,ID_num20,c; int k; do int n=0;int flag=0; cout 请输入您要删除的住户的姓名:na; coutnamesexroom_numparkingphone_numID_num; sn=new livers(na

22、me,sex,room_num,parking,phone_num,ID_num); livn=*sn; delete sn; n+; in.close(); for(i=0;i1) for(i=0;ik;i+) outsetw(2)livi.namesetw(5)livi.sexsetw(10)livi.room_numsetw(10)livi.parkingsetw(20)livi.phone_numsetw(20)livi.ID_num; for(i=k+1;in;i+) outsetw(2)livi.namesetw(5)livi.sexsetw(10)livi.room_numset

23、w(10)livi.parkingsetw(20)livi.phone_numsetw(20)livi.ID_num; cout 信息删除成功endlendl; if(n=1) out.close(); else cout 您要删除的住户不存在!endlendl; cout 您想继续删除吗? y / n :c; coutendl; if(c=n)break; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc;while(c=y); break;6)退出系统 coutBye bye! See you next time.endlendl; cout 冯勇制作endlendl

24、endl;exit(0); break; /以上为menu菜单中switch控制语句 cout 您想继续进行其他操作吗? y / n :endlw; coutendl; if(w=n)exit(0); if(w!=y&w!=n) cout 指令错误!请重新输入!endl; else flag=1;while(flag=0);if(w=y)cout 请输入操作代码: 1 输入数据endl;cout 2 增加数据endl;cout 3 修改数据endl;cout 4 信息查询endl;cout 5 信息浏览endl;cout 6 信息删除endl;cout 7 退出系统p;while(w=y);/

25、最外层的do-while循环/menu函数结束int main()key();return 0;第四章 程序的编码与实现4.1主界面的显示图4-1 主界面4.2测试及运行结果图4-2.1增加数据界面图4-2.2修改数据界面图4-2.3信息查询界面图4-2.4信息浏览界面图4-2.5信息删除界面第五章 课程设计心得与体会在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综

26、合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次模具设计,本人在多方面都有所提高。通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次冷冲压模具设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了冷冲压模具设计等课程所学的内容,掌握冷冲压模具设计的方法和步骤,掌握冷冲压模具设计的基本的模具技能懂得了怎样分析零件的工艺性,怎样确定工艺方案,了解了模具的基本结构,熟悉了规范和标

27、准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。附 录附录一 书籍: 1谭浩强 C程序设计(第三版) 清华大学出版社 2谭浩强 C程序设计题解与上机指导(第三版)清华大学出版社附录二源代码:#include#include#include#include#includeusing namespa

28、ce std;class livers/livers类 private: char name20; /姓名 char sex; char room_num10; char parking10; char ID_num20; char phone_num20; public: livers() livers(char n20,char s,char room10,char park10,char phone20,char ID20) strcpy(name,n); sex=s; strcpy(room_num,room); strcpy(parking,park); strcpy(phone_n

29、um,phone); strcpy(ID_num,ID); friend void menu();/友元函数;void key()char mima20,key20;char yu_mima20=12345; int flag;int p;char w; ifstream in; ofstream out; fstream f; /输入输出对象 cout *endl; cout 欢迎登录小区物业管理系统 endl; cout *endlendl; doflag=0; cout 请输入管理员密钥:endl; in.clear(); in.open(E:c.dat,ios:in); if(in.f

30、ail() /首次登录 coutendl 欢迎首次登录,您的预设密码为 12345:endlendl; coutmima; coutendl; if(strcmp(yu_mima,mima)=0) flag=1; cout 密码正确!请输入下一步指令:endlkey; cinmima; if(strcmp(key,mima)=0) flag=1; cout 密码正确!请输入下一步指令:endlendl; in.close(); if(flag=0) cout 密码有误,请重新输入endlendl;while(flag=0); cout *endl; cout * 0、修改密码 *endl; cout * 1、进入系统 *endl; cout * 2、退出系统 *endl; cout

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号