C小区物业管理系统课程设计
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个功能,全体用了一个类,一个友元成员函数和一个主函数。
在每次运行完成时,要退出黑屏才能保存所输入的数据。
再根据输入的数据,来确定功能的执行。
物业管理系统课程设计说明书

合肥师范学院(本科)课程设计说明书课程数据库原理题目物业管理系统姓名陈家辉学号专业班级2011级计算机软件1班指导教师完成日期2013年6月25日No.:00000000000007476目录目录 (1)1 绪言 (3)2 需求分析 (4)2.1按角色需求分析 (4)2.2系统子功能需求分析 (4)3 数据库概念设计 (5)3.1实体—关系模型(E-R): (5) (7)4 数据库逻辑设计 (8)4.1 E-R对应关系模式 (8)4.2表的逻辑结构如下: (8)4.2数据库中表的设计 (12) (12)4.3实体联系图 (15)5 数据库物理设计 (16)5.1表的设计 (16)5.2表中的数据 (18)6 系统的调试与实现 (21)6.1数据库中相关语句的实现 (21)7 设计总结 (24)1 绪言随着信息时代的到来,企业的生存和竞争环境发生了根本性的变化。
对于企业而言,信息化无论是作为战略手段还是战术手段,在企业经营中发挥着举足轻重的作用。
互联网的迅猛发展为企业带来了极大便利,企业的运行将更多依赖信息系统的支持,信息系统成为确保企业经济效益、运行效率的重要手段,甚至成为企业盈利的直接手段。
因为传统的办公方式效率低,工作强度大。
人们需耗费大量的时间和精力去手工处理那些繁杂、重复的工作,而手工处理的延时和差错,正是现代化管理中应该去除的弊端。
长期以来,旧有住宅纳入到物业管理之中的很少,就是新建的住宅小区尽管实行了物业管理,但投入的管理力量远远不够,所以有很多小区的物业管理工作只停留在看看门、扫扫地、补补漏、收收垃圾等很浅的层次上。
又由于物业管理企业的启动基金不足,多种经营服务不善等,导致招不到专业水平高的工作人员,再加上管理手段落后,所以就很难提高物业管理企业的效益。
小区管理在手工操作时代,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了小区物业的资源。
而这些项目在过去手工操作时代,需要手工记录这些事情,不但麻烦琐碎,还经常出现错误,给广大业主带来很不便。
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个函数,实现六大功能:增加数据功能、修改数据功能、信息查询功能、信息浏览功能、信息删除功能、退出系统功能。
c语言课程设计报告物业费管理系统

计算机程序设计基础(C语言)课程设计说明书设计题目:物业费管理系统班级:姓名:学号:2021年4月设计任务书完成小区物业费用管理系统设计。
功能要求:(1)新住户信息的添加。
(户主姓名、性别、身份证号、联系电话、楼号、单元号、房号、平米数、每平米物业价格、应缴纳物业费)(2)修改住户信息的功能。
(3)删除住户信息的功能。
(4)应缴物业费自动生成。
每月1号,自动生成本月份的物业费。
如果该住户之前的物业费未交清,则本月物业费与之前拖欠费用进行累加,为该用户应缴纳的物业费。
(5)缴费功能。
根据用户缴纳金额,修改“应缴纳物业费”。
(6)统计功能:能够按楼号分类统计所有未交清物业费的记录。
能够按拖欠款项多少,对所有用户信息进行从大到小排序。
(7)用菜单进行管理目录一、需求分析 (4)二、总体设计 (4)(一)总体思路 (4)(二)完整过程 (4)(三)函数定义 (5)三、详细设计 (8)四、程序运行结果测试与分析 (9)五、结论与心得 (13)一、需求分析完成小区物业费用管理系统设计。
功能要求:(1)将新住户信息的添加到文件中。
(建立结构体,包括户主姓名、性别、身份证号、联系电话、楼号、单元号、房号、平米数、每平米物业价格、应缴纳物业费)(2)修改住户信息的功能。
(3)删除住户信息的功能。
(4)计算物业费,物业费=本月物业费+之前拖欠的物业费(5)缴费功能。
根据用户缴纳金额,修改“应缴纳物业费”。
(6)统计功能:计算拖欠款项,并对所有用户信息进行从大到小排序。
(7)用菜单进行管理二、总体设计(一)总体思路:用选择语句实现各个功能,每一个功能可以用一个函数实现,因此还需要编辑几个函数。
(二)完整过程:用NEW_oj()函数判断文件是否为空,若是,则用UI_show()函数输入用户信息,若不为空,清屏并转入菜单。
输入一个整型数,用switch函数选择功能,1 进入NEW_in()函数添加新用户信息,2进入OLD_adjust()函数修改住户信息,3进入OLD_delete()函数删除住户信息,4进入 OLD_putmoney()函数进行缴费功能,计算住户的物业费,5进入OLD_showmoney()函数,进行排序功能,按拖欠款项多少,对所有用户信息进行排序,6进入void EXIT()函数,退出程序若输入其他,则反馈错误实现完功能后清屏并用system("pause")返回菜单。
物业管理系统课程设计报告

//////////////////2016年04月目录第一章前言 (1)1.物业管理系统研究的意义 (1)2.数据库开发简介 (1)简介 (2)第二章数据库设计 (3)1.选择数据库管理系统 (3)2.数据流图 (3)2.1住户管理 (3)2.2财政管理 (3)2.3设备管理 (4)2.4投诉信息管理 (4)2.5物业管理 (5)2.6系统功能结构图 (5)3.数据字典 (6)3.1数据项 (6)3.2数据结构 (6)3.2数据流 (7)4.概念结构设计 (7)4.1分E-R图 (7)4.2总E-R图 (8)5.逻辑结构设计 (8)6.物理结构设计(使用SQL2005创建数据库) (9)第三章系统设计 (11)1.系统总体设计概述 (11)1.1需求分析 (11)1.2开发系统的体系结构 (11)2.系统开发计划 (11)3.详细设计与实现 (12)3.1类库设计 (12)3.2前台设计 (15)3.3后台设计 (16)第四章总结 (19)1.成功与问题 (19)2.展望 (19)参考文献 (20)致谢 (21)第一章前言1.物业管理系统的研究意义随着市场经济的发展和人们生活水平的提高,住宅小区已经成为人们安家置业的首选。
对于追求完美的快生活节奏的现代人,他们不但对居住环境质量要求越来越高,同时对小区的服务和管理的要求也越来越高,诸如对小区的各种设施的维修维护,对各项投诉等都要求小区管理者不仅要做的够好,做的够完善,还要有效率。
这样要求小区管理者对物业管理进行宏观的和微观的细致管理。
如何才能满足人们的需求呢?信息产业的快速发展让我们看到了希望。
信息技术(IT)已经被视为可以帮助物业管理公司提高生产力和拓展新的业务的有效工具。
这就为我们设计小区物业管理系统提供了市场需要。
小区物业管理系统可以实现对小区物业的管理,小区物业管理系统是最关切老百姓实际生活的设计,各种人性化的配置,使管理者对住宅小区中的事务的处理能更方便、更快捷,使业主对小区的事物能更方便、更快捷、更满意的得到答复。
物业费管理系统课程设计

物业费管理系统课程设计一、课程目标知识目标:1. 让学生理解物业费管理系统的基本概念和功能,掌握系统设计的基本原理。
2. 使学生掌握物业费管理系统中涉及的数据结构、算法和数据库操作。
3. 引导学生了解物业费管理系统在实际生活中的应用,提高对物业管理知识的认识。
技能目标:1. 培养学生运用编程语言和数据库技术设计并实现物业费管理系统的能力。
2. 培养学生分析物业管理需求,提出合理解决方案的能力。
3. 提高学生团队协作、沟通表达和解决问题的能力。
情感态度价值观目标:1. 培养学生对物业管理的兴趣,激发他们积极参与社区管理的热情。
2. 增强学生的社会责任感和公民意识,使他们意识到物业管理对社区和谐稳定的重要性。
3. 引导学生树立正确的价值观,认识到物业管理工作的意义和价值。
课程性质:本课程为信息技术与物业管理相结合的实践性课程,旨在培养学生的动手操作能力和实际应用能力。
学生特点:六年级学生已具备一定的信息技术基础,对物业管理有初步的认识,具有较强的学习兴趣和探究精神。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,突出实际操作,注重培养学生的团队协作和沟通能力。
通过本课程的学习,使学生能够掌握物业费管理系统的设计原理,具备实际操作能力,为将来从事相关工作奠定基础。
教学过程中,注重分解课程目标为具体学习成果,以便于教学设计和评估。
二、教学内容1. 物业费管理系统概述- 了解物业费管理系统的基本概念、功能和应用场景。
- 分析物业费管理系统在现实生活中的重要性。
2. 系统设计原理与流程- 学习系统设计的基本原理和方法。
- 掌握物业费管理系统的业务流程和功能模块。
3. 数据结构与算法- 学习物业费管理系统中常用的数据结构(如数组、链表、树等)。
- 掌握排序、查询等基本算法在物业费管理系统中的应用。
4. 数据库操作与应用- 介绍数据库的基本概念,如表、字段、记录等。
- 学习数据库的创建、查询、更新和删除等基本操作。
课程设计小区物业管理系统

课程设计小区物业管理系统一、课程目标知识目标:1. 让学生理解小区物业管理的概念、功能及重要性。
2. 让学生掌握小区物业管理系统的主要模块及其功能。
3. 让学生了解并掌握数据库管理、信息处理等基本知识。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的小区物业管理系统。
2. 培养学生运用数据库技术进行数据存储、查询和更新的能力。
3. 培养学生通过小组合作、沟通与协作解决问题的能力。
情感态度价值观目标:1. 培养学生对信息技术学科的兴趣和热情,提高其学习积极性。
2. 培养学生具备良好的信息素养,关注社会发展,关爱社区。
3. 培养学生团队协作精神,尊重他人意见,善于倾听和表达。
课程性质分析:本课程为信息技术学科,结合小区物业管理系统的实际应用,旨在让学生将所学知识应用于解决实际问题。
学生特点分析:六年级学生已具备一定的信息素养和计算机操作能力,对新鲜事物充满好奇,喜欢动手实践,但需加强团队协作和沟通能力的培养。
教学要求:1. 结合学生特点和课程性质,注重理论与实践相结合,提高学生的实际操作能力。
2. 注重培养学生的团队协作和沟通能力,提高解决问题的综合素质。
3. 关注学生的学习过程,及时进行教学反馈和调整,确保课程目标的实现。
二、教学内容1. 小区物业管理基本概念:介绍小区物业管理的定义、功能、作用及发展趋势。
相关教材章节:第一章 物业管理概述2. 小区物业管理系统模块:详细讲解小区物业管理系统的主要模块,如物业信息管理、住户信息管理、费用管理、报修管理等。
相关教材章节:第二章 物业管理系统模块及其功能3. 数据库管理:介绍数据库的基本概念,教授如何使用数据库管理软件(如Access)进行数据存储、查询和更新。
相关教材章节:第三章 数据库管理4. 信息处理技术:讲解信息处理的基本方法,如信息的收集、整理、存储、传输等。
相关教材章节:第四章 信息处理技术5. 小组合作与项目管理:培养学生团队协作能力,教授项目管理的初步知识,如项目计划、执行、监控和总结。
- 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循环来实现所有的住户信息都能显示出。
void Display(people people[],int n) /*显示所有记录*/{ int i;printf("\t\t\t-----------------------------------\n"); /*格式头*/ printf("\t\t\tnumber name tel\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,peop le[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指向后续,就删除所要删除的信息了。
int Delete_a_record(people people [],int n) /*按姓名查找,删除一条记录*/{ char s[20];int i=0,j;printf("\t\t\ttell me his(her) name:"); /*交互式问寻*/scanf("%s",s);while(strcmp(people[i].name,s)!=0&&i<n) i++; /*查找判断*/if(i==n){ printf("\t\t\tnot find!\n"); /*返回失败信息*/return(n); }for(j=i;j<n-1;j++) /*删除操作*/{ strcpy(stud[j].num, people [j+1].num);strcpy(stud[j].name, people stud[j+1].name);people [j].tel= people [j+1].tel; }printf("\t\t\tDelete Successed!\n"); /*返回成功信息*/return(n-1); }void Query_a_record(people people[],int n) /*查找并显示一个记录*/{ char s[20];int i=0;printf("\t\t\tinput his(her) name:"); /*交互式输入*/scanf("\t\t\t%s",s);while(strcmp(people[i].name,s)!=0&&i<n) i++; /*查找判断*/if(i==n){ printf("\t\t\tnot find!\n"); /*输入失败信息*/return; }printf("\t\t\this(her) number:%s\n",people[i].num); /*输出该学生信息*/ printf("\t\t\this(her) tel:%d\n",people[i].tel); }int AddfromText(people people[],int n) /*从文件中读入数据*/{ int i=0,num;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf("\t\t\tInput the filename:");scanf("\t\t\t%s",filename); /*输入文件名*/if((fp=fopen(filename,"rb"))==NULL) /*打开文件*/{ printf("\t\t\tcann't open the file\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); }void WritetoText(Student people[],int n) /*将所有记录写入文件*/{ int i=0;FILE *fp; /*定义文件指针*/char filename[20]; /*定义文件名*/printf("\t\t\tWrite Records to a Text File\n"); /*输入文件名*/printf("\t\t\tInput the filename:");scanf("\t\t\t%s",filename);if((fp=fopen(filename,"w"))==NULL) /*打开文件*/{ printf("\t\t\tcann't open the file\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详细设计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) <<parking<<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;char na[20],s,room[10],park[10],phone[20],ID[20];do{int flag=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<<se tw(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;int k;cin>>k;switch(k)case 1: //按住户名查询{char na[20];char c;do{in.open("E:\\a.dat",ios::in);in.seekg(0,ios::beg);in.clear();int flag=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 )<<parking<<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;case 2 : //按房间号查询{do{int flag=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) <<parking<<setw(20)<<phone_num<<setw(20)<<ID_num<<endl;} }in.close();if(flag==0)cout<<" 对不起!您要查询的住户不存在!"<<endl;cout<<" 您想继续查询吗? y / n :";char c;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)<<parking<<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_n um[20],c;int k;do{int n=0;int flag=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]=new livers(name,sex,room_num,parking,phone_num,ID_num); liv[n]=*s[n];delete s[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 ].room_num<<setw(10)<<liv[i].parking<<setw(20)<<liv[i].phone_nu m<<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 ].room_num<<setw(10)<<liv[i].parking<<setw(20)<<liv[i].phone_nu m<<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<<"Bye bye! See you next time."<<endl<<endl;cout<<" 冯勇制作"<<endl<<endl<<endl;exit(0); }break; }}//以上为menu菜单中switch控制语句cout<<" 您想继续进行其他操作吗? y / n :"<<endl<<" ";//以下控制循环语句int flag=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函数结束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信息删除界面第五章课程设计心得与体会在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。