中小型宾馆住宿管理系统设计课程设计报告书

上传人:痛*** 文档编号:94736767 上传时间:2022-05-23 格式:DOC 页数:27 大小:120.50KB
收藏 版权申诉 举报 下载
中小型宾馆住宿管理系统设计课程设计报告书_第1页
第1页 / 共27页
中小型宾馆住宿管理系统设计课程设计报告书_第2页
第2页 / 共27页
中小型宾馆住宿管理系统设计课程设计报告书_第3页
第3页 / 共27页
资源描述:

《中小型宾馆住宿管理系统设计课程设计报告书》由会员分享,可在线阅读,更多相关《中小型宾馆住宿管理系统设计课程设计报告书(27页珍藏版)》请在装配图网上搜索。

1、.管理信息系统课程设计报告小组大报告系统名称:中小型宾馆住宿管理系统设计班 级: 管理学院工商1 组 长: 组 员:指导日 期:2013 年 5 月9 日 评阅成绩: 教师签名:附件:小组成员任务清单组员任务是否组长第一阶段 对业务流程现行系统问题提出解决方案第三阶段 系统总体结构设计第四阶段 系统主界面、主程序设计是第一阶段 系统分析阶段对系统需求和可行性分析第二阶段 数据流程图第四阶段 编制系统使用说明书否第二阶段 功能结构第二阶段 数据字典第三阶段 系统主要代码设计否第三阶段 概念结构设计第三阶段 其它详细设计第四阶段 系统测试否第一阶段 数据流程调查第三阶段 系统数据库设计第三阶段 物

2、理结构设计否第一阶段 了解系统开发背景和对系统功能设计第三阶段 逻辑结构设计、数据库实施第三阶段 登录界面设计否第一阶段 系统分析阶段系统介绍第三阶段 系统输入输出设计第五阶段 总结否小组成员设计成绩评价组员组长对组员的简单评语评价做事认真负责良积极准备做小组工作优做事认真,有协调能力优做事踏实良做事认真有效率良做事认真,积极良做事认真负责 良绪 论随着社会经济的发展,人们对生活质量的要求越来越高,作为服务之一的宾馆业也在不断的完善服务体制。它是集餐饮、住宿、娱乐于一体的立体化服务体系,其中顾客可以随意消费并统一结账;宾馆管理者可及时了解宾馆的全部运营情况及经营走势,找出运转成本,作为经营决策

3、的依据。只有运用先进的科学管理手段,利用计算机管理系统才能更好实现这一管理模式。一 系统调查与分析报告 小组报告一1 系统概况1.1 系统背景客房管理系统是一个宾馆不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,客房管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统的人工方式管理,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学不断发展,使用计算机对宾馆客房信息进行管理,具有人工管理无法比拟的优点,它检索迅速、查找方便、可靠

4、性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高宾馆客房的管理效率,也是宾馆管理科学化、正规化,与世界接轨的重要条件。随着宾馆规模的不断扩大,客房数量的急剧增加,有关客房的各种信息量也在不断成倍增长。面对庞大的信息量,就需要有客房信息管理系统来提高客房管理工作的效率。 传统手工的客房管理,管理过程繁琐而复杂,执行效率低,并且易于出错。通过这样的系统,我们们可以做到信息的规范管理和快速查询,实现了客房信息管理的系统化、规范化和自动化,这样不仅减少了管理工作量,还提高了管理效率,降低了管理成本。1.2 系统介绍实现一个能对宾馆客房租住信息,客人信息,结算信息的

5、管理,实现前台操作流程较方便,清晰,高效的信息管理系统。客房管理系统的主要任务是对宾馆的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对宾馆客房的业绩进行统计。宾馆要想依托计算机网络开展现代化管理,必须首先依据宾馆行业特定的运营方式和工作流程,在实用和可行的前提下,对电脑软件系统要开展的工作提出一些基本要求。这些要求会促使开发者和用户共同去全面深入地分析了解宾馆的运作机制,区分经营项目类别和经营方式,掌握经营的难点和侧重点,从而才能在此基础上设计和开发出既符合宾馆的实际情况,又能充分发挥计算机管理的积极作用,独具特色的管理信息系统。这个系统应该给宾馆的经营带来直接或间

6、接的经济效益,使宾馆能在先进的计算机网络系统的支撑下在管理方面逐步上档次上水平,进一步提高效率和体现宾馆的整体形象。基本要求有: 实现多操作点的信息共享,相互之间的信息传递要准确到位、快捷和顺畅。例如客人在结账时离不开入住时间、餐饮、消费、娱乐、房费、账单的相互关系等多种信息的检索和综合。系统24小时连续可靠运行,对重点业务实施全天候动态监管。宾馆中客人往来是随机的,因此宾馆必须提供24小时不间断的服务。系统维护方便可靠,有较高的安全性,满足实用性、先进性和经济性的要求。实现一个能对宾馆客房租住信息,客人信息,结算信息的管理,实现前台操作流程较方便,清晰,高效的信息管理系统。1.3 系统开发计

7、划这个阶段时间很短,工作内容是通过一段时间的资料收集,然后讨论系统功能需求分析,数据库设计,代码实现,系统测试和文档整理等工作的划分,主要目的是为了便于以后开展工作。该项目产品主要包括程序和文件。所要提交的程序主要有代码和可执行程序;所要提交的文件有设计报告。在本系统的设计过程中,为了克服这些困难,满足管理工作的需要,我们们采取了下面的一些原则。统一各种原始单据的格式,统一报表的格式。删除不必要的管理冗余,实现管理规范化、科学化。程序代码标准化,软件统一化,确保软件的可维护性和实用性。界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。1.4 可行性分析目前宾馆客房管理系统在宾馆

8、中已普遍使用,使用该项目的开发研究有很好发展前景。虽然我们们开始的时间较紧迫且相关知识点少,这给项目开发带来一定的困难,但从我们们所具备的系统开发所需的人员、软件、硬件资源和工作环境来说该项目的开发也是应该具有可行性的。1经济可行性分析构建管理信息系统的必要性在于传统管理模式的弊端严重影响了我们国宾馆管理现代化的进程以及先进的管理信息系统具有巨大的优势从而可以促进我们国宾馆管理的现代化,而宾馆管理的现代化就是要求管理的高效率,多样化,已经各自数据提取的准确。传统模式的弊端。传统的宾馆管理模式使得宾馆无法保持高效率的管理,现举例加以说明:1查询客房的时间长。客房管理者必须一张张地翻阅大量的住宿登

9、记单,寻找符合条件的信息。书写不规范或客人已换房以及占线等问题都会使得查询的时间延长。2结账容易出现错、跑账。当客人结账离店时,客房管理总台根据客人的明细表,将客人的各种单据一一相加才能结账,这样难免出现错误,造成客人等待时间长。另外,结账时也很容易出现跑账的情况,给宾馆带来经济损失。3重要客人不重要。在内部协调与管理方面,当有VIP人住时客户管理前厅部就要填写多联通知单分送各部门,安排放鲜花、水果、总经理名片以及用餐要求等具体事宜。若有一个部门收到信息晚一点,就会把VIP当成普通客人对待,将会造成不利影响。4计算审核困难。计算审核是对一天经营情况进行统计、分析和审核,然后以各种报表的形式送交

10、总经理和有关部门并归档。然而在手工管理模式下,每天统计审核需要花很多时间。客房率高时花费在计算机上的时间则更长,因此,审计员大部分时间都花费在做加法上,很少有时间去分析和审计。总的来说,宾馆作业是一个实时系统。如对数据不能进行及时的处理,就会造成走单。从而造成管理上的混乱,给宾馆的经济方面和信誉方面带来损失。同时,宾馆的账务是连续不断的,如果因为一时的障碍而造成了数据的不完整性,对宾馆未来发展计划的制定也会带来负面的影响,而管理信息系统就能解决以上问题。2技术可行性分析本系统采用vc+开发的,vc+i是一种应用很广泛、实用且功能很强大的系统开发工具。通过对vc+的探索学习,了解到:在Windo

11、ws环境下编程的传统方法已经难以胜任。因为传统的结构化编程使用的是面向过程,按顺序进行的机制,这种方法的缺点是编写程序的人员始终要关心什么时候发生什么事情,面对Windows事件驱动的工作方式,处理事件及其可能的组合会是一个非常棘手而且工作量很大的工作。面向对象程序设计立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为自上而下编程的优胜者。它通过给程序加入扩展语句,把函数封装进Windows 编程所必需的对象中,使得复杂的工作条理清晰,编写容易。一些早期的程序语言如Pascal, Smalltalk等,虽然具有面向对象的特征,但不能轻松地画出可视化对象,与用户交互能力较差

12、,仍然要编写大量的代码。而vc+使用可视化的编程方法,程序员不必建立对象,利用vc+所提供的可视控件,只要在提供的程序框架中加入完成功能的代码,如选择命令,移动鼠标等,而不必考虑按精确次序执行的每个步骤。在这种机制下,不必编写一个大型的程序,而是建立一个由若干个微小程序组成的应用程序,这些微小的程序可以由用户启动的事件来触发。这样就可以快速创建强大的应用程序而无需涉及不必要的细节。简单地说,可视化编程就是使用vc+语言,利用它所提供的可视化控件来创建对象,这是一种编程方法的新概念。3社会上的可行性近年来,软件产业以年平均超过30%的速度增长,软件和信息技术在国民经济和社会各领域得到广泛应用,成

13、为推动产业结构调整、产业技术改造的重要基础和支撑,极大地推进了我们国信息化建设进程,各个行业目前正处于信息化处理的应用时期,有关的政策法规对企业信息化给予了一个宽松的环境和平台。二、系统需求分析1.功能结构宾馆住宿管理系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上包括客房信息。客房类型信息、客户记录信息、客户信息、员工信息和员工工作信息。各个部分的数据内容又有内在的联系。针对该系统的数据特点,可以总结如下的需求:客房信息包括客房的详细信息客户信息记录客户登记时的详细信息入住信息是客户信息和客房信息之间的关联每个员工信息都对应一个员工类型每个客房都对应一个员工信息根据以上需求

14、分析,给出以下功能模块图:图1功能模块图2. 数据流程图1业务流程图,如图2.1所示。图2.1 客房管理业务流程图1顶层数据流程图,如图2.2所示。图2.2 顶层数据流程图2第二层数据流图,如图2.3所示。图2.3 第二层数据流图3宾馆开房数据流程图,如图2.4所示。图2.4 宾馆开房数据流程图4客户续房数据流程图,如图2.5所示。图2.5 客户续房数据流程图5客人退房数据流程图,如图2.6所示。图2.6 客人退房数据流程图3.数据字典数据字典是关于数据信息的集合,即对数据流图中包含的所有元素的定义的集合。1.数据项表3-1.客户Travellers信息:表中列名数据类型可否为空说明TnoIn

15、tNot null主键客户编号TnameCharNot null客户姓名TsexCharNot null客户性别TidCharNot null客户身份证号表3-2. 客房Rooms信息:表中列名数据类型可否为空说明RnoInt Not null主键客房号Rstyle CharNot null客房类型RpriceInt 客房单价RstateChar客房状态RtelChar客房表3-3. 客户住宿Living信息:表中列名数据类型可否为空说明Tno Int Not null主键客户编号Rno Int Not null主键客房号TcomedateDatetime Not null入住日期Tleftd

16、ate Datetime Not null结算日期Ttime Int 住宿时间Tamount Int 房费表3-4. 客房物品信息:表中列名数据类型可否为空说明Rno IntNot null客房号Ritemno CharNot null主键客房物品编号Ritemname CharNot null客房物品名称RitemstateChar物品状态Ritemprice Int 客房物品单价Ritemnum Int 物品数量2.数据结构根据上述系统功能分析和需求总结,设计如下的数据结构数据结构名含义说明客房类型包括客房类型单间、标间、客房信息包括客房编号、客房价格、客房所属类型、负责人编号客户信息客户

17、身份证号、客户姓名、客户性别、客户年龄、联系方式、客房编号登记信息客房编号、客户身份证号、入住日期、退房日期、账目结算员工信息员工编号、姓名、年龄、职位、联系方式、工资、所属部门员工类型职位、底薪、工作时间客房物品客房剩余物品、客房所需物品等3.数据流数据流名称:客房登记信息位置:宾馆登录处理说明:登记查询反馈数据流名称:退房登记信息位置:登录处理宾馆人员说明:显示客户消费各项信息数据流名称:宾馆员工管理位置:宾馆员工信息说明:显示员工各项基本信息数据流名称:客房物品管理位置:管理人员宾馆仓库管理人员保护说明:指定保护物品,保障宾馆各种所需物品的供求4.数据存储数据存储名称:客户登记表输入:客

18、户姓名、身份证号、房间号输出:登录处理表格数据结构:客户姓名+身份证号说明:该注册信息由宾馆保密数据存储名称:管理人员登记表输入:管理人员姓名、工号、输出:登录处理表格数据结构:管理人员姓名+工号说明:该注册信息由宾馆保密数据存储名称:退房登记表输入:客户姓名、房间号输出:登录处理表格数据结构:客户姓名+房间号说明:显示客户消费信息5处理过程1客户入住登记管理人员登记信息;输入:客户姓名、身份证号;输出:客户房间号;处理:在宾馆住宿系统中,登记好各项信息2管理人员登录管理人员注册帐号及登录;输入:姓名、工号;输出:管理人员登录验证;处理:在宾馆住宿系统中,登记好各项信息完成登录3客户预订登记管

19、理人员登记信息;输入:客户姓名、身份证号、预订号;输出:客户房间号;处理:在宾馆住宿系统中,登记好各项信息4客户退房登记管理人员登记信息;输入:客户姓名、房间号;输出:客户消费信息;处理:在宾馆住宿系统中,显示消费信息三、系统设计3.1 系统总体结构设计宾馆客房管理信息系统的总体结构设计图如下图6所示:宾馆客房管理系统前台操作预定管理信息查询报表统计开房登记退房结帐房状态查看预定房间 预定入住解除预定在住客人列表预定客人列表历史客人列表开房记录统计预定统计表图6 商业企业库存管理信息系统模块结构图3.2 系统主要代码设计void init_rooms初始条件:文件hotel.txt存在。操作结

20、果:各种房间都建立各自的链表,并已初始化。若文件hotel.txt中有入住房间的信息,则从文件中读取信息,并存入链表之中。char function_print初始条件:链表的初始化操作已顺利进行。操作结果:输出本程序的各种功能,给以用户操作提示。并将用户的选择返回给主函数。void print_livein初始条件:客户选择了入住方案,并入住房间。操作结果:输出已入住客户的信息,以及入住客户的总数。void print_book初始条件:客户选择了预定方案,并预定房间。操作结果:输出被预订房间的信息,以及已预定房间的总数。void print_cusinf初始条件:有入住额客户。操作结果:输

21、出各种房间的入住信息。int print_chose初始条件:输入入住人数与住宿天数。操作结果:根据入住人数提供房间选择方案,并显示各种方案的花费,以供客户进行选择。void reg_liveinvoid Regist初始条件:客户选择了某一种入住方案。操作结果:根据客户的选择方案,登记客户信息,并将其记录在链表中。void book_room初始条件:客户选择了某一种预定方案。操作结果:根据客户的选择方案,登记客户信息,并将其记录在链表中。void Queryempty初始条件:选择所要查询的客房种类。操作结果:输出显示该种房间剩余的房间号。void Save初始条件:建立一个文本文件。操作

22、结果:将所有入住房间的信息记录到文本文件hotel.txt中。void modify初始条件:需修改信息的客户名称,并且存在该客户入住的房间信息。操作结果:对于三个存储房间信息的链表进行查找,若存在,则进行修改选择并修改,若不存在,则退出修改。3.3 系统输入输出设计程序每次执行时,首先从文本文件hotel.txt中语句提取数据生成链表,若文件hotel.txt中无房间信息,则输出文件中无内容可以导入,然后输出操作提示。输入命令提示中的序号便可以选择相应的命令,增加记录时逐项提示输入入住人数和入住天数,然后提示各种可行方案供旅客选择,根据提示,选择相应的序号后,再通过登记,就可以将信息添加到链

23、表中。查询分为查询空房和查询已住用户信息,在主菜单中按照命令提示进行选择。如果查询空房,就将未入住旅客的各种类型客房显示在命令中,用户按照提示命令进行选择,就可以将空房的房间号码输出;查询已住客房的信息时,根据提示操作可以查看三种不同类型房间的入住信息。保存至文件即将链表中的信息写到文件中。选择主菜单中的退出则退出程序。3.4 系统数据库设计3.4.1 概念结构设计1、概念设计说明 通常,把每一类数据对象的个体称为实体,而每一类对象的集合称为实体集。而ER模型的主要成分是实体、联系和属性。如果用矩形框表示实体集,用带半圆的矩形表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,

24、在实体集与属性的连接上标记一斜线,则可以表示实体集及每个实体集涉及的属性,实体集之间存在各种关系,通常把这种关系称为联系。联系有三类:一对一的联系1:1;一对多的联系;多对多的联系。 所以,此宾馆住宿管理系统中实体集与实体集的联系,ER模型如下:2 、E-R图各实体之间的E-R图,如图3-1所示。图3-1 实体之间的E-R图局部E-R图如下:客户信息实体的E-R图,如图1所示。图1客户信息实体的ER图客房信息实体的E-R图,如图2所示。图2 客房信息实体的ER图客户住宿实体的E-R图,如图3所示。 图3 客户住宿实体的ER图客房物品信息实体的E-R图,如图4所示。 图4 客房物品实体的ER图顾

25、客客房姓名身份证工作单位详细地址登记服务员操作密码姓名工作编号住宿房间号码所在楼层价格房间类型使用配置房态全局E-R图如下:1 1 1 N NN管理 1操作密码大堂经理1年龄名字工作编号 总E-R实体图3.5逻辑结构设计1 E-R图到关系模式的转换关系模式:客房客房编号、客房类型、客房价格、负责人编号员工员工编号、员工姓名、员工年龄、员工联系方式、员工职位、员工工资、领导编号客户客户身份证号、客户姓名、客户性别、客户年龄、联系方式、入住日期、退房日期、入住客房编号客户_客房客房编号、客户身份证号、入住日期、退房日期客户_员工客户身份证号、员工编号、服务2.实体关系模式分析由于客房编号、员工编号

26、、客户身份证号、客房编码等每个属性都是不可再分的,且均是简单属性,因此属于第一范式。由于客房类型、价格,员工年龄、职位、工资等非主属性完全函数依赖,因此属于第二范式。而员工服务等属于非主属性完全函数依赖。又因为非主属性不传递函数依赖的主关系键。因此属于第三范式。3.6物理结构设计1.数据分析1常查询项:客房信息、客户信息、员工信息2常变更项:客户姓名、身份证号、入住日期、退房日期、结算金额等3不易变更项:客房类型、客房价格等2.索引的建立对客房、员工、客户建立索引,方便数据的查询。3数据库存放位置的设计为提高系统性能,应根据应用情况把数据库的常查询项、常变更项、不易变更项分开存放。4.建立视图

27、对权限的赋予操作,保障数据库的安全。3.7数据库实施3.7.1创建数据库3.8其它详细设计首先,程序开始执行先将文本文件hotel.txt中的数据读取并存储在链表中,然后按照功能操作提示进行选择,客户经过登记入住后便可以的到一个新的链表,最终可以选择保存至文件进行文件保存操作。本程序可以实现的功能包括:查询,添加,修改。现已修改操作为例讲解一下处理过程设计。修改操作则是通过客户输入所要修改信息的客户名称来进行查找的,首先利用for循环语句确定链表的信息中是否含有该用户,若存在该用户,则变换命令提示界面,客户根据提示再次进行所要修改的数据的选择,根据用户输入的选择是哪一项,利用switch进行分

28、别的修改操作,switch语句下的每个case都有具体的输入数据提示和输入语句。若选择退出修改,则会跳转回原先的菜单界面供用户进行其他操作。整体的用户界面是通过do. .while语句使得菜单界面循环显示,每次执行完一个命令后再次显示出菜单界面,直到选择退出命令,循环终止,程序停止执行。4 系统实施4.1 系统主界面、主程序设计4.1.1登录界面设计在CRanjianshejiView:OnInitialUpdate中添加代码CdengluDlg dlg;dlg.DoModal;ifMessageBox;exit;4.1.2 主程序设计#include #include #include #i

29、nclude #include #include #define N 500 #define TRUE 1 #define FALSE 0 /*定义顾客结构体*/ typedef struct Passenger char name10; /姓名 int roomNO20; /房号 int price5; /各等级房间价格 int remain5; /各等级空房间数 void PassWord; /系统密码 void order; /预定 void del; /取消预定 void addnum; void pgsearch; void query_remain;/按空余房间查询 void qu

30、ery_price; /按各等级价格查询 void display; /浏览预定储存信息 PG; /*结构体成员赋值*/ int price5=500,300,150,100,50; /各等级价格 int remain5=100,100,100,100,100;/各级房间初始剩余数 int A=500,B=400,C=300,D=200,E=100; /计算门牌号 static int p=0; static int TOTAL=0; /统计人数全局变量 char line10; PG gestersN; /结构体变量gesters数组 /*加密函数*/ void PassWord int i

31、,m=0; char x16=t,a,n,g,s,h;/密码 char w17; cout欢迎进入客房服务终端nn; cout请输入系统管理密码:endl; to1: fori=0;i /输入密码 w0i=getch; if =0&amt;&amt;w0i |=a&amt;&amt;w0i |=A&amt;&amt;w0i&amt;&amt; printf; /输出*覆盖密码原值 else if goto to2; if|/输入密码若不正确 | | to2: m+; if /输入超过3次,自动关闭应用程序 printf; exit; printf; goto to1; /密码错误未超过3次,重

32、新输入 coutn通过密码验证,程序启动!nn; system; /清屏 /*预定房间*/ void order loop1: FILE *fp; PG g;/定义结构体Passengers变量 if/判断是否为结构体数组的第一个变量信息 iffp=fopen=NULL/写入方式打开文件 coutt创建存档文件失败!endl; return; p+; else /非结构体数组第一个变量信息 iffp=fopen=NULL/追加方式打开文件 coutt不能够打开这个文件n; return; system; cout欢迎顾客光临nn;/输入顾客信息 int region,count=0,total

33、,j=0; int q=1,w; char k,u; char c=y; TOTAL+; cout请您输入性别:m/fn; /判断性别 cink; loop2: if w=1; /1为男性 else if w=2; /2为女性 else coutk; goto loop2; /出错处理 if coutn 先生,请输入您的姓名:n; else coutg.name ; /输入姓名 for int i=0, u ,back=0; loop3: cout请问您想购买哪总等级的房间; coutn; cinline0; /输入订房等级 region = line0; if5|region/判断等级正确性

34、 coutn输入出错,请重试 !nn; continue; region=region-48; ifremainregion-1 /判断空余房间数 cout该等级客房已售完 !n; continue; coutline; count=atoi; ifremainregion-1 /判断所需房间数是否充足 cout房间数量不够 !n; continue; ifcount coutn输入数量出错 ! 请重试nn;/数值过大处理 continue; remainregion-1=remainregion-1-count;/计数剩余房间数 total=count*priceregion-1; /计算金

35、额 if printfs 先生,你已经预定了c 等级的房间 ,&amt;g.name,region+64; else printfs 女士,你已经预定了c 等级的房间 ,&amt;g.name,region+64; coutcount 间,门牌号是:nn; fori=back,u=0;i /记录并输出顾客开取房间号码 if /若为A等房 A+=1; couttA; g.roomNOi=A; else if/若为B等房 B+=1; couttB; g.roomNOi=B; else if/若为C等房 C+=1; couttC; g.roomNOi=C; else if/若为D等房 D+=1; c

36、outtD; g.roomNOi=D; else /若为E等房 E+=1; couttE; g.roomNOi=E; u+; if6=0 /每行输出6个号 coutn; back+=count; /判断重复预定时补录门牌号 coutnnt您本次应付的总金额为total元。endl;/输出金额 coutnt您的预订成功,欢迎光临本宾馆 !n; coutnn请问是否继续预订?n; cinc; if goto loop3;/若重复预定房间 else break; /不重复预定时跳出while循环 if/如输入的为第一个信息,把信息赋给gesters0 strcpy; forint j=0;j ges

37、ters0.roomNOj=g.roomNOj; fwrite&amt;gesters,sizeof,1,fp;/读入磁盘 p+;/描述使第一个信息不被覆盖判断 fclose; else/如不是第一个输入信息 fwrite&amt;g,sizeof,1,fp;/以添加形式读入磁盘 rewind; fclose; cout还需添加新的客户信息吗?n; cinu; if goto loop1; /添加新的顾客信息 /*显示预定的客户信息*/ void display FILE *fp; iffp=fopen=NULL/读出形式打开文件 cout文件打开失败,无法读取数据!endl; return;

38、 if /判断是否为空文件 p=0; coutn很抱歉,列表中没有可遍历的顾客信息!n; return; cout客房预定情况如下:nt姓名t房间号n;/不为空时输出所有信息 forint j=0;fread&amt;gestersj,sizeof,1,fp!=0,j coutntgestersj.namet;/姓名 forint i=0,w=1;i100&amt;&amt;gestersj.roomNOi coutgestersj.roomNOit;/房间号 if6=0 coutntt; fclose; /*工具函数*/ void addnum /返回因被删除顾客占用的房间号 for=100

39、&amt;&amt;ad.roomNOj if100&amt;&amt;ad.roomNOj/若为E等房 remain4=remain4+1; /空房间数加1 if200&amt;&amt;ad.roomNOj/若D为等房 remain3=remain3+1; if300&amt;&amt;ad.roomNOj/若为C等房 remain2=remain1+1; if400&amt;&amt;ad.roomNOj/若为B等房 remain1=remain4+1; if500&amt;&amt;ad.roomNOj/若为A等房 remain0=remain0+1; /*删除客户预定资料*/ voi

40、d del FILE *fp; int T; char delname10,c=y; iffp=fopen=NULL coutn信息文件打开失败 !endl; return; while coutendl; display;/每次删除前遍历订房信息 if p=0; system; cout无效删除,系统自动返回上级:n; break; coutnn请输入要取消的订户姓名 :delname;/输入目标删除姓名 forint i=0;i T=TOTAL; ifstrcmp=0 addnum;/运行工具函数,释放被占房间 TOTAL-; for;!=NULL;i+ for;i gestersi=ge

41、stersi+1;/跳过被删除信息节点 coutn删除成功!n; fwrite&amt;gesters,sizeof,TOTAL,fp; /刷新信息 if/如若总数不变时处理 coutn查无此顾客 !endl; coutn是否继续?n; cinc; fclose; /*客户查询函数按姓名查询*/ void pgsearch FILE *fp; char searchname10,c=y; iffp=fopen=NULL cout文件打开失败,无法读取数据!endl; return; if p=0;/p为0,使得再次输入顾客信息时第一个赋给gesters0 coutn很抱歉,没有顾客可以查询!n

42、n; return; /roombook.txt文件中没有信息,跳出本函数 while /顾客查询循环体 int y=FALSE; forint j=0;fread&amt;gestersj,sizeof,1,fp!=0,j coutnn请输入要查询的订户姓名 :searchname; /输入目标查询姓名 forint i=0;i ifstrcmp=0/若是查到了顾客 y=TRUE; cout您所查询的顾客资料为:nt姓名t房间号n; coutntgestersj.namet;/输出顾客姓名 forint i=0,w=1;i100&amt;&amt;gestersj.roomNOi coutg

43、estersj.roomNOit;/输出该顾客所预定房间 if6=0 coutntt; /输出格式为每行6六个 if /若是没有查到 coutnt很抱歉,没有您要查询的顾客资料!nn; break; /跳出while循环 coutn是否继续?n; cinc; fclose; /*按剩余房间查询*/ void query_remain time_t tt; /读取系统当前时间 time; coutnt本地时间为: ctime endl; / 显示时间 coutnt目前宾馆各等级的待预定房间情况如下:nn; /显示个等级房间空余数 coutttA等tB等tC等tD等tE等nendl; couttt

44、remain0tremain1tremain2tremain3tremain4endl; coutnt-显示完毕-nendl; system; system; /查询完毕后清屏 /*按套间价格查询*/ void query_price coutnt本宾馆各等级的客房单天单间价格如下:nn;/输出个等级房间单价 coutttA等tB等tC等tD等tE等nendl; couttt500t400t300t200t100nendl; coutnt-显示完毕-nendl; system; system; /查询完毕后清屏 /*客房查询系统*/ void query char i; for coutnnn

45、ttn; coutttt1-查询顾客情况n; coutttt2-查询各等级空房n; coutttt3-查询各等级房价格n; coutttt0-返回上级菜单n; coutttn; couti; system; switch case 1: pgsearch; break;/按顾客姓名查询 case 2: query_remain; break;/按各等级空余房间查询 case 3: query_price; break;/按各等级单间价格查询 case 0: system; break;/跳出查询 default: cout输入出错!请重试endl; system; /出错 按任意键重试 con

46、tinue;/重新循环 if system; break; coutnn系统安全返回上级菜单:nendl;/查询完毕,返回主菜单 /*主函数*/ main FILE *fp; fp=fopen; /读取信息文本文件 PassWord; /执行密码程序 char select; char c=y; cout欢迎使用客房客户端服务系统:n; /进入主菜单 while coutnnttt -主菜单-nn; couttt*n; coutttt1-进入订房系统订房n; coutttt2-遍历预定信息n; coutttt3-取消房间订单n; coutttt4-查询系统n; coutttt0-退出本程序n; couttt*n; coutselect; /功能键选择 switch case 1: order; /预定房间 break; case 2: display; /显示预定信息 coutendl显示完毕!endl; coutendl按任意键返回.endl; getch; system; break; case 3: del; break; /按姓名撤销预定 case 4: /进入查询子菜单 system; cout欢迎进入查询菜单 nn; query; bre

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