C++小区物业管理系统课程设计
住宅小区物业管理课程设计 (2)

住宅小区物业管理课程设计一、课程背景分析随着城市化进程的加速,住宅小区已成为城市居民生活的主要场所。
小区物业管理作为保障居民正常生活需求的重要环节,对小区居民的生活质量和安全稳定起着至关重要的作用。
因此,小区物业管理得到了社会各界的广泛关注,对小区物业管理人员的要求和期望也逐渐提高。
本课程旨在深入探讨小区物业管理的重要性、目标和管理方法等问题,帮助学生明确物业管理工作的重要性,熟悉物业管理的基本知识和技能,从而为未来从事物业管理工作者打下坚实的基础。
二、课程目标通过本课程的学习,希望能够实现以下目标:1.理解小区物业管理的基本概念及其重要性;2.掌握小区物业管理的基本原则和方法;3.熟悉小区物业管理的各项工作,并能够针对具体情况制定合理的管理方案;4.培养学生对小区物业管理工作的责任心和使命感。
三、课程内容1.小区物业管理的概念和现状分析;2.小区物业管理的目标和原则;3.小区物业管理的基本职责和工作内容;4.小区物业管理的组织和管理方法;5.小区物业管理的常见问题处理。
四、课时安排课程模块课时数量概念和现状分析 2目标和原则 2基本职责和工作内容 4组织和管理方法 4常见问题处理 2五、教学方法1.理论讲授:通过讲授小区物业管理的基本概念、原则、职责和工作内容等,使学生全面了解小区物业管理的基本知识;2.课件演示:通过PPT课件演示,使学生更加形象的理解小区物业管理的各项工作;3.案例分析:通过实际案例分析,帮助学生理解小区物业管理工作的实际操作方法;4.视频教学:通过视频教学,使学生更加全面深入的了解小区物业管理工作的具体实践。
六、考核方式1.课堂测验:根据课程内容布置不同难度的测验题目,考核学生对小区物业管理相关知识的理解情况;2.课堂小组讨论:组织学生分小组进行小区物业管理策划或处理技巧讨论,考核学生应用小区物业管理知识的能力;3.案例分析报告:要求学生撰写小区物业管理实际案例分析报告,考核学生小区物业管理实际应用能力;4.期末考试:开设综合试卷,考核学生对小区物业管理全面和深入的认识与理解情况。
C语言课程设计报告--物业管理系统

C语言课程设计报告--物业管理系统中国地质大学本科生课程论文封面课程名称计算机高级语言课程设计(C)教师姓名本科生姓名本科生学号本科生专业网络工程所在院系计算机学院类别:工科日期:16/1/20XX课程设计评语对课程论文的评语:平时成绩:课程论文成绩:总成绩:评阅人签名:注:1、无评阅人签名成绩无效;2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。
摘要:本文完成了综合练习中第20题物业管理系统的编程,程序用于小区的管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理,并用文存储相关信息。
文中给出了需求分析、功能模块图、数据结构、详细设计、程序运行结果、总结和致谢。
目录课程设计评语2作者简介及摘要3目录41.课程论文题目52.总体设计63.详细设计84.程序运行结果125.编程中遇到的困难及解决方法166.总结心得及良好建议177.致谢188.参考文献191.课程论文题目:物业管理系统1.1问题描述物业管理系统问题的描述是:用于小区的物业管理,管理的项目包括小区住户管理、物业收费项目管理、物业收费管理。
要求用文存储相关信息。
1.2基本要求(1)可随时浏览、录入和更改小区住户、收费项目等数据。
(2)随时可增、删、改、查收费项目及其标准。
生成小区住户收费报表(包括全部、已交、欠交)。
1.3需求分析住户信息、物业收费信息用一个文存储,因而要提供文的输入/输出操作;另外,还要提供键盘式选择菜单以实现功能选择。
2.总体设计:2.1总体思路整个管理系统设计为住户信息、物业收费信息的浏览、增加、更改、删除等模块。
2.2功能模块图物业管理系统更改删除增加浏览计算图2-2功能模块图2.3数据结构设计根据问题描述,将住户信息、物业收费信息放在一个resident结构体内。
结点结构:fhbjfbaftcfyjzjqj定义如下:#defineN50intM;structresident{intfh;/*房号*/charname[10];/*户主姓名*/ intbjf;/*保洁费*/baf;/*保安费*/inttcf;/*停车费*/intyj;/*已交*/intzj;/*总计*/intqj;/*欠交*/}s[N];/*s[N]中每个数组元素对应一个住户*/ 将住户信息储存在ZHSFBB.txt文本文中内容及格式:wang865080120102zhang77127 201 zhao 805060 150 202 shang 705510 100 301 zhou 886655 130 30256 89 13 90 401 sun 46 667980 402 tian 50 80 40 140 501 fang 60 70 30502chen90604088601bian404040110602wu808040803.详细设计3.1数据读入模块:小区住户信息采用结构体形式,把一个住户的信息作为结构体成员,若要存放若干个住户信息就要用到结构体数组,一条记录对应一户住户的信息,既符合习惯也方便信息管理。
C 小区物业管理系统课程设计

华科学院信息管理与信息系统专业《程序设计综合课程设计》报告(2011/2012学年第一学期)学生姓名:王奥辉学生班级:信息管理102202H学生学号:17指导教师:薛颂东20011年12月30日小区物业管理目录1、课程设计的目的及要求 (4)2、课程设计任务 (5)3、设计内容 (6)4、程序的编码与实现 (25)5、课程设计心得与体会 (28)6、程序源代码 (29)第一章课程设计的目的及要求课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。
本课程设计的目的和任务:1. 巩固和加深学生对C++语言课程的基本知识的理解和掌握。
2. 掌握C++语言编程和程序调试的基本技能。
3. 利用C++语言进行基本的软件设计。
4. 掌握书写程序设计说明文档的能力。
5. 提高运用C++语言解决实际问题的能力。
课程设计要求进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++ 语言解决实际问题的能力,为以后后续课程的学习打好基础。
第二章课程设计任务课程设计题目小区物业管理系统课程设计实现可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。
第三章设计内容需求分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。
小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息;——小区管理系统主要提供以下功能:1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能——输入4.住户信息增加、修改、查询功能(1)按住户名(2)按房间号5.住户信息浏览功能——显示6.住户信息删除功能总体设计图3-2-1 开始登录界面整个系统除了主函数外,另外还有6个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。
小区物业管理系统课程设计

课程设计课程名称__数据库系统__________ 题目名称_小区物业管理系统_____ 学生学院_ 计算机___________ 专业班级_学号学生姓名___ _____________指导教师_____左亚尧____________ 2013年1 月16 日目录一、相关技术介绍…………………………………………………………二、需求分析………………………………………………………………2.1数据需求………………………………………………………2.1.1数据项的描述…………………………………………2.1.2数据流的描述…………………………………………2.1.3数据存储的描述………………………………………2.1.4处理逻辑的描述………………………………………2.1.5外部实体的描述………………………………………2.2功能需求……………………………………………………2.2.1组织结构分析…………………………………………2.2.2业务流程分析…………………………………………2.2.3数据流程分析…………………………………………三、概念结构设计…………………………………………………………四、逻辑结构设计…………………………………………………………五、数据库物理设计……………………………………………………六、收获和体会……………………………………………………………1一、相关技术介绍1、项目开发背景随着人民生活水平不断提高,人们对生活环境要求日益提高,尤其是对居住环境不断提出新的需求,为了适应这种形式,小区的经营者不仅首先要有坚实的硬件基础,还要有一套现代化的物业管理系统。
而要实现这一功能,就职求物业管理者配备一套高效的管理住处网络系统,以便在小区内快速地发布和获取住处并以最快地速度响应用户的需求,及时为用户提供服务,为住户提供一个高效、舒适的居住、生活环境。
住宅小区的物业管理准确地讲应当是指对以居住为主要功用的物业进行管理。
课程设计小区物业管理系统

课程设计小区物业管理系统一、课程目标知识目标:1. 让学生理解小区物业管理的概念、功能及重要性。
2. 让学生掌握小区物业管理系统的主要模块及其功能。
3. 让学生了解并掌握数据库管理、信息处理等基本知识。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的小区物业管理系统。
2. 培养学生运用数据库技术进行数据存储、查询和更新的能力。
3. 培养学生通过小组合作、沟通与协作解决问题的能力。
情感态度价值观目标:1. 培养学生对信息技术学科的兴趣和热情,提高其学习积极性。
2. 培养学生具备良好的信息素养,关注社会发展,关爱社区。
3. 培养学生团队协作精神,尊重他人意见,善于倾听和表达。
课程性质分析:本课程为信息技术学科,结合小区物业管理系统的实际应用,旨在让学生将所学知识应用于解决实际问题。
学生特点分析:六年级学生已具备一定的信息素养和计算机操作能力,对新鲜事物充满好奇,喜欢动手实践,但需加强团队协作和沟通能力的培养。
教学要求:1. 结合学生特点和课程性质,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重培养学生的团队协作和沟通能力,提高解决问题的综合素质。
3. 关注学生的学习过程,及时进行教学反馈和调整,确保课程目标的实现。
二、教学内容1. 小区物业管理基本概念:介绍小区物业管理的定义、功能、作用及发展趋势。
相关教材章节:第一章 物业管理概述2. 小区物业管理系统模块:详细讲解小区物业管理系统的主要模块,如物业信息管理、住户信息管理、费用管理、报修管理等。
相关教材章节:第二章 物业管理系统模块及其功能3. 数据库管理:介绍数据库的基本概念,教授如何使用数据库管理软件(如Access)进行数据存储、查询和更新。
相关教材章节:第三章 数据库管理4. 信息处理技术:讲解信息处理的基本方法,如信息的收集、整理、存储、传输等。
相关教材章节:第四章 信息处理技术5. 小组合作与项目管理:培养学生团队协作能力,教授项目管理的初步知识,如项目计划、执行、监控和总结。
C语言程序设计物业管理系统

C语言程序设计物业管理系统集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]#i n c l u d e""#include ""#include ""#define M 5struct People{int a;char ming[30];char xiang[30];int b;int c;}P[M];void main(){int a=1;void menu_1(int a);menu_1(a);}void menu_1(int a){void menu_2();void menu_3();void biao_1();int loop=1;while(loop){system("cls");printf("\t WELCOME \n");printf("\t--------------------(*^◎^*)--------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.小区用户管理 -\n");printf("\t- 2.物业收费管理 -\n");printf("\t- 3.生成小区住户收费报表 -\n");printf("\t- 4.退出 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-------------------o(╯□╰)o-------------------\n");printf("\t END \n");printf("请输入所要选择内容的序号(1-4):[ ]\b\b");scanf("%d",&a);switch(a){case 1:menu_2();break;case 2:menu_3();break;case 3:biao_1();break;case 4:exit(0);break;default :exit(0);}getchar();getchar();}}void menu_2(){void scan_1();void add_1();void rewrite_1();void delete_1();void seek_1();int a;system("cls");printf("\t *欢迎使用小区用户管理系统* \n");printf("\t-----------------↖(^ω^)↗---------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.浏览用户资料 -\n");printf("\t- 2.录入用户资料 -\n");printf("\t- 3.更改用户资料 -\n");printf("\t- 4.删除用户资料 -\n");printf("\t- 5.查找用户资料 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-----------------O(∩_∩)O~---------------------\n");printf("\t END \n");printf("请输入所要选择内容的序号(1-3):[ ]\b\b");scanf("%d",&a);switch(a){case 1:scan_1();break;case 2:add_1();break;case 3:rewrite_1();break;case 4:delete_1();break;case 5:seek_1();break;default:exit(0);}}void scan_1(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);printf("\n");}void add_1(){FILE *fp;if((fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{int i;int num;printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=2;i<num+2;i++){printf("编号:");scanf("%d",&P[i].a);printf("姓名:");scanf("%s",P[i].ming);printf("项目:");scanf("%s",P[i].xiang);printf("已交:");scanf("%d",&P[i].b);printf("已欠:");scanf("%d",&P[i].c);fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);fprintf(fp,"\n");}fclose(fp);}}void savein_1(){int i;FILE *fp;fp=fopen("e:\\","r");for(i=0;i<3;i++)fscanf(fp,"%d %s %s %d %d",&P[i].a,P[i].ming,P[i].xiang,&P[i].b ,&P[i].c);fclose(fp);}void rewrite_1(){FILE *fp;void savein_1();if( (fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{int i=0,num;savein_1();printf("输入所要更改的编号[ ]\b\b");scanf("%d",&num);while(P[i].a!=num)i++;printf("请输入所要的新标号\n");scanf("%d",&P[i-1].a);printf("请输入所要的姓名\n");scanf("%s",P[i-1].ming);printf("请输入所要的收费项目\n");scanf("%s",P[i-1].xiang);printf("请输入所欠的物业费\n");scanf("%d",&P[i-1].b);printf("请输入已交的物业费\n");scanf("%d",&P[i-1].c);fp=fopen("e:\\","w+");i=0;do{fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++;}while(i<=2);fclose(fp);}}void delete_1(){FILE *fp;void savein_1();int num,i=0;printf("请输入所要删除人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(P[i].a!=num)i++;for(i;i<=5;i++){P[i].a=P[i+1].a;strcpy(P[i].ming,P[i+1].ming);strcpy(P[i].xiang,P[i+1].xiang);P[i].b=P[i+1].b;P[i].c=P[i+1].c;}fp=fopen("e:\\","w");i=0;do{fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++ ;}while(i<=5);fclose(fp);}void seek_1(){void savein_1();int num,i=0;printf("请输入所要查找的人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(i!=num)i++;printf("%d %s %s %d %d",P[i-1].a,P[i-1].ming,P[i-1].xiang,P[i-1].b,P[i-1].c);}void menu_3(){void scan_2();void add_2();void rewrite_1();void delete_2();int a;system("cls");printf("\t *欢迎使用物业收费管理系统* \n");printf("\t------------------(⊙_⊙)----------------------\n");printf("\t- -\n");printf("\t- -\n");printf("\t- 1.浏览小区收费项目 -\n");printf("\t- 2.增加小区收费数目 -\n");printf("\t- 3.更改小区收费项目 -\n");printf("\t- 4.删除小区收费项目 -\n");printf("\t- -\n");printf("\t- -\n");printf("\t-------------------(⊙o⊙)----------------------\n");printf("\t- END -\n");printf("请输入所要选择内容的序号(1-3):[ ]\b\b");scanf("%d",&a);switch(a){case 1:scan_2();break;case 2:add_2();break;case 3:rewrite_1();break;case 4:delete_2();break;default:exit(0);}}void scan_2(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);}void add_2(){int i,num;FILE *fp;if((fp=fopen("e:\\","a"))==NULL){printf("文件不能打开/n");exit(0);}else{printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){printf("编号:");scanf("%d",&P[i].a);printf("姓名:");scanf("%s",&P[i].ming);printf("项目:");scanf("%s",&P[i].xiang);printf("已交:");scanf("%d",&P[i].b);printf("已欠:");scanf("%d",&P[i].c);fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);}fclose(fp);printf("\n");}}/*void rewrite_2(){FILE *fp;if((fp=fopen("e:\\","w"))==NULL){printf("文件不能打开/n");exit(0);}else{ int i,num;printf("输入所要输入数据的数目=");scanf("%d",&num);for(i=3;i<num+3;i++){printf("项目:");scanf("%s",&P[i].xiang);fprintf(fp,"%s",P[i].xiang);fprintf(fp,"\n");}fclose(fp);}}*/void delete_2(int d){FILE *fp;void savein_1();int num,i=0;printf("请输入所要删除人的编号:[ ]\b\b");scanf("%d",&num);savein_1();while(i!=num)i++;for(i=num;;i++){P[i].a=P[i+1].a;strcpy(P[i].ming,P[i+1].ming);strcpy(P[i].xiang,P[i+1].xiang);P[i].b=P[i+1].b;P[i].b=P[i+1].b;}fp=fopen("e:\\","a");do{i=0;fprintf(fp,"%d %s %s %d %d",P[i].a,P[i].ming,P[i].xiang,P[i].b, P[i].c);i++ ;}while(i<=5);fclose(fp);}void biao_1(){FILE *fp;char ch;if((fp=fopen("e:\\","r+"))==NULL){printf("cannot open the file!");exit(0);}ch=fgetc(fp);while(ch!=EOF){putchar(ch);ch=fgetc(fp);}fclose(fp);printf("\n");}。
C++课程设计小区物业管理系统

目录一.编程目的: .......................... 错误!未定义书签。
二.设计要求: .......................... 错误!未定义书签。
三.各函数功能说明: .................... 错误!未定义书签。
四.流程图: ............................ 错误!未定义书签。
五.总结:.............................. 错误!未定义书签。
参考书目:.............................. 错误!未定义书签。
1.程序题目要求:1.1.课程设计目的:用C++语言对小区物业管理系统进行程序编程,并且通过以前的学习及查看相关资料,按着题目要求编写程序,进一步加强对编程的训练,使得自己掌握知识要点,将其书本知识转化为实际应用当中。
1.2课程设计题目:小区物业管理系统1.3.课程设计题目描述和要求:1)、有工作界面(菜单或按钮方式)2)、以住户为主,录入房号,户主名,用水量(单位方),用电量(单位度),物业费(交否),入主日期等字段;所录入的数据(至少包括6条)存入一个文本文件中;能根据情况调出数据.3)、具有按房号排序功能.4)、能有插入功能,并按房号排序.5)、具有删除记录功能.6)、当某一住户买水或买电后,其相应用水量,用电量字段应增加;交物野费后应改变其相应字段的值.7)、具有查询功能(1)按房号, 户主名进行用水量和用电量的查询.(2)按物业费交否查询住户情况,当未交的,可报警提示.8)、统计出每栋楼房的入主情况(即空房多少).9)、能在屏幕上输出所有客户的信息.2.课程设计报告内容:2.1:程序的简单介绍整个程序采用类与链表相结合的编程方法一共完成了8个功能,全体用了一个类,一个友元成员函数和一个主函数。
在每次运行完成时,要退出黑屏才能保存所输入的数据。
再根据输入的数据,来确定功能的执行。
c语言课程设计物业管理

c语言课程设计物业管理一、教学目标本课程的教学目标是使学生掌握C语言的基本语法和编程方法,能够运用C语言进行简单的程序设计。
通过本课程的学习,学生应该能够理解并运用C语言的基本数据类型、运算符、控制结构、函数等知识,具备基本的编程能力,能够编写简单的C语言程序。
同时,通过学习物业管理的相关内容,使学生能够了解物业管理的概念和基本知识,掌握物业管理的常用方法和技术,提高学生的实际操作能力。
二、教学内容教学内容主要包括C语言的基本语法和编程方法,以及物业管理的相关内容。
C语言部分包括数据类型、运算符、控制结构、函数等基本知识,编程方法包括顺序结构、选择结构、循环结构等编程技巧。
物业管理部分包括物业管理的概念、目标、内容、方法等基本知识,以及物业管理常用的技术和管理手段。
三、教学方法本课程采用讲授法、案例分析法、实验法等教学方法。
讲授法用于讲解C语言的基本语法和编程方法,案例分析法用于分析物业管理的相关案例,实验法用于让学生通过实际操作来加深对C语言编程的理解。
同时,鼓励学生进行讨论和交流,提高学生的学习兴趣和主动性。
四、教学资源教学资源包括教材、参考书、多媒体资料、实验设备等。
教材和参考书用于提供C语言和物业管理的基本知识,多媒体资料用于辅助讲解和展示,实验设备用于进行实际操作。
同时,还可以利用网络资源和其他相关资料来丰富教学内容和学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
平时表现主要评估学生的出勤、课堂参与度和团队协作能力。
作业分为编程作业和理论作业,用于评估学生对C语言知识和物业管理概念的理解和应用能力。
考试包括期中和期末考试,主要评估学生对C语言编程和物业管理知识的掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排将在每周的一、三、五下午进行,共计12周,共计36课时。
教学地点选在学校的计算机实验室,以便学生进行编程实践和实验操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华科学院信息管理与信息系统专业《程序设计综合课程设计》报告(2011/2012学年第一学期)学生姓名:王奥辉学生班级:信息管理102202H学生学号:17指导教师:薛颂东20011年12月30日小区物业管理目录1、课程设计的目的及要求 (4)2、课程设计任务 (5)3、设计内容 (6)4、程序的编码与实现 (25)5、课程设计心得与体会 (28)6、程序源代码 (29)第一章课程设计的目的及要求1.1课程设计目的本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计基础(C++)》课程后进行的一次全面的综合设计。
本课程设计的目的和任务:1.巩固和加深学生对C++语言课程的基本知识的理解和掌握。
2.掌握C++语言编程和程序调试的基本技能。
3.利用C++语言进行基本的软件设计。
4.掌握书写程序设计说明文档的能力。
5.提高运用C++语言解决实际问题的能力。
1.2课程设计要求进一步巩固《C++程序设计》所学的知识,特别加强数组,指针,结构体,文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计的能力,以及用C/C++语言解决实际问题的能力,为以后后续课程的学习打好基础。
第二章课程设计任务2.1课程设计题目小区物业管理系统2.2课程设计实现可以通过操作输入、增加、修改、浏览、查询、删除小区内住户信息,来实现对小区内物业的管理。
第三章设计内容3.1需求分析小区物业信息管理系统是针对当代社会,住宅小区越来越成为居住的主流这一市场需要而应运而生的,是为小区管理着和小区用户更好的维护小区各项物业管理业务处理工作而开发的管理软件。
小区管理系统包括小区成员的所住单元、住户号、工作单位、姓名、电话号码等信息;——小区管理系统主要提供以下功能:1.系统的登录界面(主要包括用户名、密码的设置、新用户的创建、密码的修改等);2.系统以菜单方式工作3.住户信息录入功能——输入4.住户信息增加、修改、查询功能(1)按住户名(2)按房间号5.住户信息浏览功能——显示6.住户信息删除功能3.2总体设计图3-2-1开始登录界面整个系统除了主函数外,另外还有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;i<n+1;i++)/*循环输入*/{printf("\t\t\t%-16s%-15s%d\n",people[i-1].num,people[i-1].name,people[i-21].tel);if(i>1&&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&&i<n)i++;/*查找判断*/if(i==n){printf("\t\t\tnotfind!\n");/*返回失败信息*/return(n);}for(j=i;j<n-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");/*返回成功信息*/return(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&&i<n)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(i<num)/*循环读入数据*/{fscanf(fp,"%s%s%d",peole[n+i].num,people[n+i].name,&people[n+i].tel); i++;}n+=num;fclose(fp);/*关闭文件*/printf("\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(i<n){fprintf(fp,"%-16s%-15s%d\n",people[i].num,people[i].name,people[i].tel); i++;}fclose(fp);/*关闭文件*/printf("Successed!\n");/*返回成功信息*/}6.退出系统功能。
3.3详细设计图3-3-1系统功能模块图 1.系统操作流程图菜单(登录界面、主菜单)输入数据 增加数据 修改数据 信息查询 信息浏览 信息删除按用户名 按房间号开始 登录界面退出系统N Y Y N图3-3-2系统操作流程图 2.各部分详细流程 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; cin>>name;cout<<endl<<"请输入住户性别:"; cin>>sex;cout<<endl<<"请输入其房间号:"; cin>>room_num;cout<<endl<<"请输入其车库号:"; cin>>parking;cout<<endl<<"请输入联系电话:"; cin>>phone_num;cout<<endl<<"请输入身份证号:"; cin>>ID_num; cout<<endl;out<<setw(20)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<par king<<setw(20)<<phone_num<<setw(20)<<ID_num;//文件输入 cout<<"数据添加成功,想继续添加吗?y/n:"<<endl; cin>>c; cout<<endl;增加数据 输入要增加的住户的信息 继续添加? 修改数据 输入要修改的住户的信息继续修改? 信息查询 选择查询方式输入用户名输入房间号信息浏览 信息删除 信息删除if(c=='n')break;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl<<"";cin>>c;}}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;cin>>na;cout<<endl;f.open("E:\\a.dat",ios::in|ios::out);f.seekg(0,ios::beg);f.clear();while(!f.eof()){f>>name;if(strcmp(name,na)==0){flag=1;cout<<"请输入您要修改的住户的姓名:"<<endl;cin>>na;cout<<"请输入新房间号:";cin>>room;cout<<endl<<"请输入住户性别:";cin>>s;cout<<endl<<"请输入其房间号:";cin>>room;cout<<endl<<"请输入其车库号:";cin>>park;cout<<endl<<"请输入联系电话:";cin>>phone;cout<<endl<<"请输入身份证号:";cin>>ID;cout<<endl;sex=s;strcpy(room_num,room);strcpy(parking,park);strcpy(ID_num,ID);strcpy(phone_num,phone);f.seekp(-20l,ios::cur);f<<setw(20)<<na<<setw(5)<<s<<setw(10)<<room<<setw(10)<<park<<setw(20 )<<phone<<setw(20)<<ID;//文件输入cout<<"修改成功!"<<endl<<endl;break;}}f.close();if(flag==0)cout<<"您要修改的住户不存在!"<<endl<<endl;cout<<"您想继续修改吗?y/n:"<<endl;cin>>c;cout<<endl;if(c=='n')break;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl<<"";cin>>c;}}while(c=='y');break;}3)信息查询{charname[20],sex,room_num[10],room[10],parking[10],phone_num[20], ID_num[20];cout<<"请选择您要进行查询的方式:"<<endl<<endl<<"1.按住户名查询"<<endl<<endl<<"2.按房间号查询"<<endl<<endl;intk;cin>>k;switch(k)case1://按住户名查询{charna[20];charc;do{in.open("E:\\a.dat",ios::in);in.seekg(0,ios::beg);in.clear();intflag=0;cout<<"请输入你要查询的住户姓名:"<<endl;cin>>na;cout<<endl;while(!in.eof()){in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;if(strcmp(name,na)==0){flag=1;cout<<"您要查询的住户:"<<name<<"的信息是:"<<endl<<endl;cout<<"姓名性别房间号车库号电话号码身份证号"<<endl;cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<p arking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl;}}in.close();if(flag==0)cout<<"对不起!您要查询的住户不存在!"<<endl<<endl;cout<<"您想继续查询吗?y/n:";cin>>c;cout<<endl;if(c=='n')break;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;case2://按房间号查询{do{intflag=0;cout<<"请输入你要查询的房间号:"<<endl;cin>>room;cout<<endl;in.open("E:\\a.dat",ios::in);in.seekg(0,ios::beg);in.clear();while(!in.eof()){in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;if(strcmp(room_num,room)==0){flag=1;cout<<"您要查询的住户:"<<name<<"的信息是:"<<endl<<endl;cout<<"姓名性别房间号车库号电话号码身份证号"<<endl;cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<p arking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl;}}in.close();if(flag==0)cout<<"对不起!您要查询的住户不存在!"<<endl;cout<<"您想继续查询吗?y/n:";charc;cin>>c;cout<<endl;if(c=='n')break;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;default:cout<<"对不起,您输入的指令有误:";}break;}break;4)信息浏览{charname[20],sex,room_num[10],parking[10],phone_num[20],ID_num[20 ];in.open("E:\\a.dat",ios::in);in.seekg(0,ios::beg);in.clear();if(in.get()==EOF){cout<<"文件中已无数据"<<endl<<endl;in.close();break;}cout<<"本系统所有学生数据如下:"<<endl<<endl;cout<<"姓名性别房间号车库号电话号码身份证号"<<endl;while(!in.eof()){in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;cout<<setw(2)<<name<<setw(5)<<sex<<setw(10)<<room_num<<setw(10)<<p arking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl;}in.close();break;}5)信息删除{charname[20],na[20],sex,room_num[10],parking[10],phone_num[20],ID _num[20],c;intk;do{intn=0;intflag=0;cout<<"请输入您要删除的住户的姓名:"<<endl;cin>>na;cout<<endl;in.clear();in.open("E:\\a.dat",ios::in);in.seekg(0,ios::beg);while(!in.eof()){in>>name>>sex>>room_num>>parking>>phone_num>>ID_num;s[n]=newlivers(name,sex,room_num,parking,phone_num,ID_num);liv[n]=*s[n];deletes[n];n++;}in.close();for(i=0;i<n;i++){if(strcmp(liv[i].name,na)==0){flag=1;k=i;}}if(flag==1){out.open("E:\\a.dat",ios::out);out.seekp(0,ios::beg);if(n>1){for(i=0;i<k;i++)out<<setw(2)<<liv[i].name<<setw(5)<<liv[i].sex<<setw(10)<<liv[i].r oom_num<<setw(10)<<liv[i].parking<<setw(20)<<liv[i].phone_num<<setw(20)<<liv[i].ID_num;for(i=k+1;i<n;i++)out<<setw(2)<<liv[i].name<<setw(5)<<liv[i].sex<<setw(10)<<liv[i].r oom_num<<setw(10)<<liv[i].parking<<setw(20)<<liv[i].phone_num<<setw( 20)<<liv[i].ID_num;cout<<"信息删除成功"<<endl<<endl;}if(n=1){}out.close();}elsecout<<"您要删除的住户不存在!"<<endl<<endl;cout<<"您想继续删除吗?y/n:"<<endl;cin>>c;cout<<endl;if(c=='n')break;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl<<"";cin>>c;}}while(c=='y');break;}6)退出系统{cout<<"Byebye!Seeyounexttime."<<endl<<endl;cout<<"冯勇制作"<<endl<<endl<<endl;exit(0);}break;}}//以上为menu菜单中switch控制语句cout<<"您想继续进行其他操作吗?y/n:"<<endl<<"";//以下控制循环语句intflag=0;do{cin>>w;cout<<endl;if(w=='n')exit(0);if(w!='y'&&w!='n')cout<<"指令错误!请重新输入!"<<endl;elseflag=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退出系统"<<endl;}cin>>p;}while(w=='y');//最外层的do-while循环}//menu函数结束intmain(){key();return0;}第四章程序的编码与实现4.1主界面的显示图4-1主界面4.2测试及运行结果图4-2.1增加数据界面图4-2.2修改数据界面图4-2.3信息查询界面图4-2.4信息浏览界面图4-2.5信息删除界面第五章课程设计心得与体会在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。