《程序设计综合课程设计》报告C小区物业管理系统设计

上传人:1666****666 文档编号:36413777 上传时间:2021-10-31 格式:DOC 页数:48 大小:595.54KB
收藏 版权申诉 举报 下载
《程序设计综合课程设计》报告C小区物业管理系统设计_第1页
第1页 / 共48页
《程序设计综合课程设计》报告C小区物业管理系统设计_第2页
第2页 / 共48页
《程序设计综合课程设计》报告C小区物业管理系统设计_第3页
第3页 / 共48页
资源描述:

《《程序设计综合课程设计》报告C小区物业管理系统设计》由会员分享,可在线阅读,更多相关《《程序设计综合课程设计》报告C小区物业管理系统设计(48页珍藏版)》请在装配图网上搜索。

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

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

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

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

5、有的住户信息都能显示出。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.信息删除功能:首先用指针找到此住户的前驱和后续,然后让前驱的NEXT指向后续,就删除所要删

6、除的信息了。 首先用指针找到此住户的前驱和后续,然后让前驱的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); /*返回失败信息*/ return(n); for(j=i;j

7、n-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) name:); /*交互式输入*/ scanf

8、(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; /*定义文件指针*/ char file

9、name20; /*定义文件名*/ 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,peolen+i.num,peoplen+i.

10、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); /*输入文件名*/ printf(tttInput the

11、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); /*返回成功信息*/ 6.退出系统功能。

12、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,c; out.open(E:a.dat,

13、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; if(c!=y&c!=n) cout 指令

14、错误!请重新输入!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; coutendlroom; coutendlpa

15、rk; 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=0) cout 您要修改的住户不存在!e

16、ndlendl; 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;char c; do in.open(E:

17、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)parkingsetw(20)phone_numsetw(

18、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=1; cout您要查询的住户:name

19、的信息是: 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:cout对不起,您输入的指令有误:;b

20、reak; 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_num; coutsetw(2)names

21、etw(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(name,sex,room_num,park

22、ing,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_numsetw(10)livi.parkingset

23、w(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 冯勇制作endlendlendl;exit(0); break;

24、 /以上为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);/最外层的do-while循环/menu函

25、数结束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 namespace std;class livers/

28、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_num,phone); strcpy(ID

29、_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.fail() /首次登录 coutendl

30、 欢迎首次登录,您的预设密码为 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;

31、cout * 2、退出系统 *endl; cout *endlendl; do do cout 请输入您的指令(02):p; switch(p) case 0: /修改密码 cout 请输入新密码:key; out.open(E:c.dat,ios:out); out.clear(); outkey; out.close();break; case 1: menu();break;/进入系统 case 2: /退出系统 cout 谢谢使用,小区物业管理系统! endlendl Bye-bye! See you next time!endlendl; exit(0);break;default

32、: cout 输入指令有误,请重新输入:endlendl;break;while(p2); cout 您想继续进行其他操作吗? y / n :endlw; coutendl; if(w=n)exit(0); if(w!=y&w!=n) cout 指令错误!请重新输入!endl;while(flag=0);if(w=y)cout 请输入操作代码: 0 修改密码endl;cout 1 进入系统endl;cout 2 退出系统endl;while(w=y); /密钥函数void menu()cout *endl; cout 小区物业管理系统 endl; cout *endl; cout *endl;

33、 cout * 主菜单命令如下所示: *endl; cout * 1、输入数据 *endl; cout * 2、增加数据 *endl; cout * 3、修改数据 *endl; cout * 4、信息查询 *endl; cout * 5、信息浏览 *endl; cout * 6、信息删除 *endl; cout * 7、退出系统 *endl; cout *endl; cout 请输入您的指令数字(17)endlp; if(p=1&p=7) flag=1; else cout 指令错误!请重新输入:endl; while(flag=0); do/最外层循环switch(p) /接收功能选项cas

34、e 1: /信息输入char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; out.open(E:a.dat,ios:out); do coutname; 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; /文件输入 c

35、out 数据输入成功,想继续输入吗? y / n : endlc; coutendl; do if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; else flag=1; while(flag=0); while(c=y); out.close(); break; case 2: /增加数据 char name20,sex,room_num10,parking10,phone_num20,ID_num20,c; out.open(E:a.dat,ios:app); do cout请输入您要增加的住户的姓名:name; coutendlsex; coutendlroom_n

36、um; 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; if(c!=y&c!=n) cout 指令错误!请重新输入!endlc; while(c=y); out.close(); break; case 3: /修改数据cha

37、r 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; coutendlroom; 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=0) cout 您要修改的住户不存在!e

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!