酒店客房预订管理系统

合集下载

酒店客房管理系统

酒店客房管理系统

酒店客房管理系统酒店客房管理系统是酒店行业中非常重要的一部分,它的作用可以帮助酒店管理人员更好地管理和控制酒店客房的使用,提高酒店客房的利用率和经济效益。

一、酒店客房管理系统的概述酒店客房管理系统主要包括客房预订管理、房间信息管理、客房服务管理、客户信息管理、房态管理等模块,这些模块可以帮助酒店管理人员全面了解酒店客房的使用情况,并对客房进行有效的管理和控制。

二、酒店客房管理系统的功能1、客房预订管理:酒店客房管理系统可以通过预订管理模块实现客房的在线预订,客户可以通过网站或手机应用程序进行预订,酒店工作人员可以对客房的预订情况进行查询、修改、取消等操作。

2、房间信息管理:酒店客房管理系统可以实现对客房信息的管理,包括客房的房型、房间号、床型、面积、价格等信息的管理和修改。

3、客房服务管理:酒店客房管理系统可以通过客房服务模块实现对客房服务的管理,包括客房清洁、更换床单、毛巾、洗漱用品等服务的安排、记录和反馈。

4、客户信息管理:酒店客房管理系统可以通过客户信息管理模块实现对客户信息的管理,包括客户的基本信息、身份证号、联系电话、入住时间等信息的管理和统计。

5、房态管理:酒店客房管理系统可以通过房态管理模块实时监控客房的状态,包括客房的空置状态、入住状态、维修状态等状态的管理和调整。

三、酒店客房管理系统的优点1、提高酒店客房的利用率:酒店客房管理系统可以帮助酒店管理人员更好地了解客房使用情况,为酒店客房的管理和控制提供更多的数据支持,从而提高酒店客房的利用率和经济效益。

2、提高服务质量:酒店客房管理系统可以帮助酒店工作人员更好地管理客房服务,包括客房清洁、更换床单、毛巾、洗漱用品等服务,从而提高客房服务的质量和客户的满意度。

3、提高工作效率:酒店客房管理系统可以帮助酒店工作人员更快速地了解客房使用情况,并进行管理和调整,从而提高工作效率和工作质量。

四、酒店客房管理系统的发展趋势1、云化:酒店客房管理系统将越来越云化,通过云服务模式提供更便捷的客房管理和服务。

酒店客房预订管理系统

酒店客房预订管理系统

院系:计算机科学学院专业、年级: 2010计科(1)大班课程名称:软件工程项目名称:酒店客房预订管理系统学号姓名:学号姓名:学号姓名:学号姓名:指导教师:刘卫平2012 年12月23日目录12667第一章系统概述系统开发背景和意义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。

在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。

要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。

现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。

面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。

通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。

当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。

许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。

因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。

开发语言简介酒店客房预订信息管理系统是一个对客户全方面管理的程序。

该客房预订信息管理系统是在Visual C++ 平台下设计开发,以TXT文档为后台数据库,利用Visual C++ 提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

Microsoft的Visual C++ 作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网的发展,真正地让人们可以在任何时间、任何地点、通过任何设备得到信息。

酒店客房预订系统

酒店客房预订系统

八、部署间。
会员接受已预订信息,一定时间内可取消订
单。会员通过个人信息管理修改个人信息, 通过订单管理查看个人订单情况。
同时订单管理员也可以成为酒店会员,并享
受预订服务。 系统管理员控制客房信息。同时维护用户权 限和信息。
系统功能描述
网络会员:浏览客房信息 酒店会员:选择订单、个人信息管理、订单
管理 系统管理员:用户信息维护、客房信息维护
系统UML模型及描述
一、系统用例图:描述与系统交互的参与者及 系统用例
参与者:网络用户、酒店会员、系统管理员 及网上支付系统 用例:浏览网络信息(客房信息)、注册、 登录、选择订单、个人订单管理、个 人信息管理、权限设置、客房信息管 理
二、类图
对象图由类图的实例化产生,省略。
三、活动图
四、顺序图
1.制定订单时序图
四、顺序图
2.权限设置顺序图
四、顺序图
3.客房信息设置
五、协作图
1、权限设置设置
五、协作图
2、订房
五、协作图
3、客房信息设置
六、状态图
1 订单状态图
六、状态图
2 会员状态图
六、状态图
3 客房信息状态图
六、状态图
4 权限设置状态图
七、构件图
客房信息设置五协作图1权限设置设置五协作图五协作图3客房信息设置六状态图订单状态图六状态图会员状态图六状态图客房信息状态图六状态图权限设置状态图七构件图八部署图结束谢谢大家
酒店预订管理系统UML设计 作者:任涛
系统功能描述
所有的网络用户都可以通过浏览网络信息查看该
酒店的客房信息。 网络用户如果需要预订,需设置个人信息(姓名、 密码、电话号码或email)注册成为酒店会员并 登录系统预订。 会员查看客房信息并选择订单、选择支付方式 (可以通过网上银行系统进行支付,或者入住时 现金支付)。最后确认提交生成订单。

客房信息管理系统概述

客房信息管理系统概述

客房信息管理系统概述客房信息管理系统是为了提高酒店客房管理效率,实现客房资源的科学配置和优化管理而建立的一种信息管理系统。

通过客房信息管理系统,酒店管理者可以随时随地了解酒店各类房间情况、客房预订情况、入住时间、空置房源情况等各项数据信息,并且能够实现预订、入住、退房等全方位的客房管理服务。

客房信息管理系统一般包括以下几个模块:1. 客房基本信息管理模块:包括客房的名称、楼层、房型、面积、照片等信息。

可以实现对客房基本信息的增加、删除、更新、查询等操作。

2. 房间状态管理模块:记录了房间当前的状态,如是否空置、清洁状况、是否需要维修等。

酒店管理者可以根据这些信息,对客房进行空置率分析、客房清洁状况等进行统计分析,以及能够提前预警房间需要维修的情况,保证客房的正常使用。

3. 客房预订管理模块:包括客房预订、预订情况查询、预订管理等。

客人可通过在线预订或电话预定房间,而酒店工作人员则可以在系统中进行房间预订管理,实现客房预订的一站式服务。

4. 入住管理模块:可以记录客人的姓名、证件号码、联系方式等入住信息。

通过这个模块,酒店工作人员可以协助客人完成入住办理、交付房间钥匙等。

5. 结算管理模块:记录客人入住期间的消费情况,包括客房费用、餐饮、洗衣、电话等各类消费项目,以及计算和打印账单。

酒店工作人员可以在结算模块中方便地为客人提供结算服务。

6. 统计分析模块:通过对系统内各类数据进行统计分析,可以为酒店管理者提供客房使用率、预订情况、客房清洁状况等各类分析报表,帮助管理者更好地掌握酒店运营情况,为运营决策提供数据支持。

与传统的酒店客房管理方式相比,客房信息管理系统具有如下几个优势:1. 自动化管理,提高管理效率:客房信息管理系统具有自动化管理特点,可以将人力管理和机械管理结合起来,避免了繁琐的手工管理工作,极大提高了酒店管理效率。

2. 便捷客人入住体验:客房信息管理系统能够为客人提供在线预订、自助入住等多种入住方式,避免了传统入住方式中的繁琐步骤,提高了客人入住体验。

客房管理系统

客房管理系统

客房管理系统1. 简介客房管理系统是一种为酒店提供有效管理客房信息的系统。

它利用计算机技术和数据库管理系统,帮助酒店完成客房的预订、入住、退房等各项操作。

该系统能够提高酒店管理的效率和客户的满意度,使整个酒店业务流程更加顺畅和简洁。

2. 功能特点客房管理系统具有以下主要特点:2.1 客房预订客户可通过客房管理系统查询酒店的客房信息,包括房型、价格、空房情况等。

客户可以选择指定日期和房间类型进行预订。

系统会自动核对客房的可用性,并进行预订确认。

2.2 入住管理客房管理系统会记录客户的入住信息,包括客户姓名、身份证号码、入住日期等。

客户在酒店前台办理入住手续时,工作人员只需输入客户的信息并选择合适的客房,系统会自动生成入住记录并更新客房的入住状态。

2.3 退房管理客户在退房时,前台工作人员只需输入客户的姓名或房间号码,系统会自动生成退房记录,并计算客房的费用。

系统还可以生成详细的账单,包括房费、早餐费、电话费等,方便客户结账。

2.4 客房维修管理客房管理系统可以跟踪客房的维修情况,包括记录维修工单、维修人员、维修时间等信息。

前台工作人员可以在系统中查询客房的维修记录,并将客房从维修状态改为可用状态。

2.5 销售统计分析客房管理系统可以生成各种统计报表,包括客房入住率、客房平均价格、客房收入等。

这些统计数据可以帮助酒店管理者了解业务情况,优化销售策略和资源配置。

3. 系统架构客房管理系统的架构分为前台系统和后台系统:3.1 前台系统前台系统面向客户和酒店的前台工作人员,提供客房预订、入住、退房等功能。

客户可以通过前台系统查询客房信息并进行预订,工作人员可以在系统中进行客户的入住和退房管理。

3.2 后台系统后台系统面向酒店的管理者,提供客房维护和销售统计等功能。

后台系统可以记录客房的维修情况,并生成各种销售统计报表。

4. 数据库设计客房管理系统的数据库设计如下:4.1 客房信息表字段名类型说明room_id int客房IDroom_type varchar客房类型price decimal客房价格status int客房状态4.2 客户信息表字段名类型说明customer_id int客户ID name varchar客户姓名id_number varchar身份证号码phone_number varchar手机号码4.3 入住记录表字段名类型说明checkin_id int入住记录ID customer_id int客户IDroom_id int客房ID checkin_date date入住日期4.4 退房记录表字段名类型说明checkout_id int退房记录IDcustomer_id int客户ID room_id int客房ID checkout_date date退房日期billing_amount decimal账单金额4.5 维修记录表字段名类型说明maintenance_id int维修记录ID room_id int客房ID maintenance_date date维修日期maintenance_staff varchar维修人员5. 安全性要求客房管理系统在设计和实现时需考虑以下安全性要求:•数据备份:定期对数据库进行备份,以免发生数据丢失的情况。

酒店客房管理系统

酒店客房管理系统

酒店客房管理系统
酒店客房管理系统是一种用来管理酒店客房预订、入住、退房等相关信息的系统。

该系统通常包括以下功能:
1. 客房预订:允许客人在线、电话或者到店预订客房。

系统会记录客人的个人信息,预订时间和预计入住时间等。

2. 房间管理:管理酒店的客房信息,包括房间类型、房间号码、价格、入住人数等。

系统可以显示可用房间和预订情况,并在房间全满时提示。

3. 在线支付:允许客人在预订房间时进行在线支付,以保证预订的可靠性。

4. 入住登记:当客人到达酒店时,前台工作人员可以使用系统进行入住登记,包括核对客人身份信息、签订住宿合同等。

5. 房态管理:系统会实时更新房间的状态,包括空房、已预订、已入住、清理中等。

6. 房间清洁管理:酒店清洁人员可以使用系统标记哪些房间需要清洁,以及记录清洁的时间和情况等。

7. 报表和统计:酒店管理人员可以通过系统生成各类报表,如客流量、房间入住率、客人满意度等,以便进行管理和
分析。

8. 退房结算:客人退房时,前台工作人员可以使用系统进
行结算,计算客人的房费和其他消费,以及办理退押金等
手续。

酒店客房管理系统可以提高酒店的效率和服务质量,方便
客人预订和入住,同时也方便管理人员进行管理和统计分析。

酒店客房管理系统

酒店客房管理系统

酒店客房管理系统
酒店客房管理系统是一个涉及酒店客房预订、入住、维护、管理和结算等环节的综合性管理系统。

它的主要作用是通过计算机技术将酒店客房各个环节进行自动化管理,提高酒店的整体管理效率和服务质量,满足客人的需求。

酒店客房管理系统主要具有以下特点:
1. 客房预订功能:客人可以通过手机或电脑预订酒店的客房,酒店可以根据客人预订信息进行合理安排,提高房间利用率。

2. 入住管理功能:客人到酒店进行入住时,前台工作人员可以通过系统查询客人预订信息和入住信息,快速完成登记入住工作。

3. 客房管理功能:酒店可以通过客房管理功能进行客房信息的记录、维护和管理,包括客房状况查看、客房维护记录等。

4. 结算管理功能:酒店可以通过结算管理功能对客人的消费进行清单打印和结算,方便财务管理和客人结算。

5. 数据分析功能:酒店可以通过客房管理系统对客人预订、入住、消费等信息进行统计分析,以便为酒店管理提供科学的参考。

通过酒店客房管理系统,酒店可以实现客房资源的合理利用和管理,提高整个酒店的服务水平和效率。

同时,对于客人来说,酒店客房管理系统可以带来更加便捷的预订和入住服务,提高客人的满意度。

因此,酒店客房管理系统已经成为现代酒店管理的重要组成部分,越来越多的酒店开始使用这一系统。

酒店客房管理系统

酒店客房管理系统
本书约定在应用程序目录下创建Classes目录, 用来存储类模块文件。
类封装实例
例如要为表Users创建一种类Users。 类Users旳属性如下: Public UserName As String '顾客名 Public UserPwd As String '密码
初始化组员变量
Public Sub Init() UserName = "" UserPwd = "" End Sub
在本系统中,应该首先增长基本信息,之后才干进行前台接待 管理。基本信息涉及客户信息、客房类型信息和客房信息等。
添加基本信息后,就能够进行前台接待管理了。前台接待管理 涉及预定客户管理、入住登记管理、续住信息管理和退房信息 管理等模块。
在前台收款模块中,顾客能够录入实收款金额,同步将统计状 态设置为已结款。
VALUES子句中包括要插入旳数据值列表。假如 指定了“列名列表”,则数据值列表必须与“列 名列表”完全相应;假如没有指定“列名列表”, 则数据值列表必须与表旳全部列顺序完全相应。
UPDATE语句旳基本语法
UPDATE <表名> SET <列名> = <值> [, …n] WHERE <条件体现式>
如连接数据库、断开与数据库旳连接等。 GeneralFunc 用来管理通用旳顾客自定义函数。 Variable 用来管理工程中旳全局变量,涉及全局
数组和全局对象。
数据库封装
本书中使用类来管理数据库中旳每个表, 类旳组员变量相应表中旳每个列,类旳组 员函数则实现对表旳多种操作,例如添加、 修改、删除和读取数据等。
SELECT各子句旳主要功能
SELECT子句 -- 指定由查询返回旳列 INTO 子句 -- 创建新表并将成果行插入新表中 FROM 子句 -- 指定从其中检索行旳表 WHERE 子句 -- 指定用于限制返回行旳搜索条件 GROUP BY -- 子句指定查询成果旳分组条件 HAVING 子句 -- 指定组或聚合旳搜索条件 ORDER BY 子句 -- 指定成果集旳排序 UNION运算符 -- 将两个或更多查询旳成果组合为
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

院系:计算机科学学院专业、年级: 2010计科(1)大班课程名称:软件工程项目名称:酒店客房预订管理系统学号姓名:学号姓名:学号姓名:学号姓名:指导教师:刘卫平2012 年12月23日目录12667第一章系统概述1.1 系统开发背景和意义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。

在人民生活水平提高的同时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。

要使在当前酒店行业日趋激烈的竞争中脱颖而出,必须努力发展自己在管理方面的特色,避免传统管理方法的失误,使酒店的信誉以及各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。

现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。

面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。

通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。

当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。

许多酒店经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。

因此,许多酒店需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。

1.2 开发语言简介酒店客房预订信息管理系统是一个对客户全方面管理的程序。

该客房预订信息管理系统是在Visual C++ 6.0平台下设计开发,以TXT文档为后台数据库,利用Visual C++ 6.0提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

Microsoft的Visual C++ 6.0作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网的发展,真正地让人们可以在任何时间、任何地点、通过任何设备得到信息。

1.3本系统简介现代化的酒店组织庞大、服务项目多、信息量大,想要提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。

酒店管理系统正是为此而设计的。

优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。

这也是我所设计本程序的目的之一。

本系统针对用户和客户以及客房的管理采用了当今常用的C/S结构而设计。

采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括订房,退房,客房信息、客户信息的添加、修改和查询。

1.4 系统运行环境机型:PC处理器:奔四或更高内存:512M或更高硬盘:4G或更高输入输出设备:键盘、扫描仪、打印机、显示器等。

数据库软件:Notepad编程工具、编程语言:visual C++编译软件:Microsoft Visual C++ 6.0操作系统:Microsoft Windows XP第二章系统需求分析2.1 用户需求该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。

一个方便地实现对客房变更、房价及预订信息的自动化操作。

使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店基本情况,及时获取最新的准确资料和信息。

该软件能系统管理酒店的信息,功能与实现方面有相当的针对性和实用性。

该系统的主要功能有酒店信息管理,房间类型管理,订单信息管理,业务人员编辑和系统用户管理。

2.2 功能需求本系统主要具备以下几个基本功能:(1)客房预订:按照客户需求,为新客户分配新客房。

(2)退房管理:删除已退客户信息,及时更新客房留存状态,方便新客户入住。

(3)客房设置:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。

(4)客户设置:可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。

(5)房间预订情况查询:可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某一个房间或客户。

2.3 性能需求1.技术可行性该客房预订信息管理系统是在Visual C++ 6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。

2.经济可行性该系统节省人力资源成本的同时,可以提高业务效率,并能够及时、准确、迅速地满足顾客服务的需求,系统的开发成本低,现有的PC机即可提供该系统开发工作需要的所有硬件设备环境。

3.操作可行性直接浏览网页的形式,利用鼠标进行傻瓜式的操作,操作中的每一步都会有相应的提示,这样可以让更多的人群在最短的时间内学会使用他。

2.4 出错处理需求在进行每一步操作时,都会有相应的提示操作,当系统出错时,会有相应的提示信息让你寻找错误,它的简单,易学的特性使得能够广泛普及,让更多的人去使用。

(为了更好地阐述需求更能,我们做了详细的图形说明)2.5 系统功能图2.6 系统数据流图2.7 E-R图第三章系统总体设计3.1 系统功能设计该系统充分考虑用户的操作简便性,实现快捷操作。

它有以下几个功能:(1)客房预订:按照客户需求,为新客户分配新客房。

(2)退房管理:删除已退客户信息,及时更新客房留存状态,方便新客户入住。

(3)客房设置:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。

(4)客户设置:可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。

(5)房间预订情况查询:可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某个房间或客户。

4.2 系统功能模块图根据上述系统功能分析,能得出下面系统软件功能模块图:3.2.1 整体模块分配该系统充分考虑用户的操作简便性,实现快捷操作。

它有以下四大模块:(1)订房:按照客户需求,为新客户分配新客房。

(2)退订:删除已退客户信息,及时更新客房留存状态,方便新客户入住。

(3)客房信息:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房以及查看所有客房的状态信息。

(4)客户信息:可以添加新客户,修改客户信息(客户编号,客户姓名),删除已退订客户信息以及查看所有客户的订房状态信息。

3.2.2客户信息子模块(1)新增:录入客户编号、客户姓名等信息(2)更改:更改相应客户的个人信息。

(3)删除:删除相应客户的个人信息。

(4)查询:查询所需客户的订房信息。

(5)显示:显示所有预订客户的个人信息以及预订房号。

(6)全删:删除所有客户信息。

3.2.3 客房信息子模块(1)新增:录入客房编号、客房描述等相关信息。

(2)更改:更改相应客房的信息。

(3)删除:删除相应客户及客房的信息。

(4)查询:查询所需客房的订房状态。

(5)显示:显示所有客房的房号以及预订状态信息。

(6)全删:删除所有客房信息。

第四章系统详细设计4.1 系统详细设计进度规划甘特图如下4.2 系统详细设计任务1.算法过程的设计:本详细设计采用的是流程图的方式来表达每个处理过程的算法。

2.数据结构的设计:对于处理过程中涉及的概念性的数据类型进行确切的定义。

3.测试用例设计:测试用例包括输入数据和预期结果等内容。

4.3 系统物理方案配置设计1.设计指标1)系统的可靠性:该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。

系统吞吐量2)要提高系统的吞吐量:要求使用具有大吞吐量的计算机。

应该选择具有较高性能的计算机。

3)系统响应时间:响应时间不超过2秒4)系统处理方式:该系统采用主机系统方式。

2.计算机硬件配置计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:内存:512MB;CPU:奔四1.8GHZ以上;硬盘:空余空间4G。

4.4 系统输入输出设计4.4.1输入设计原则1.输入数据量设计:需要输入客户数据,数据量不大。

2.输入错误检测:检测客户登记状态,确保不会重复登记或登记错误。

4.4.2数据输入设备的选择本系统选择键盘、鼠标人工输入方式。

4.4.3输入检验设计本系统对输入检验设计的地方有如下几处:1.当前台工作人员输入客户数据时,系统会自动检测该信息是否已在系统中存在。

2.当业务员输入房间号时,系统会检测该房间号是否存在,若不存在会提示酒店没该房间。

4.4.4输出设计内容1.输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员等。

2.信息应以表格及文档形式输出。

3.输出设备:打印机、终端显示器。

4.输出介质:输出到专用纸张及电脑屏幕上。

4.4.5错误改正方法系统出现错误时,将弹出提示框。

并允许工作人员改正。

4.5 系统程序流程图第五章模块设计思路分析本程序共有五大功能模块:新建模块、更改模块、删除模块、查询模块和显示模块。

各模块在功能上互相补充,在程序中互相融合,才能实现一个具有多种功能的管理系统。

(1)新建模块:实现所有客房、订房客户的录入工作。

(2)更改模块:提供数据的修改,包括客户姓名、客房描述等。

(3)删除模块:将已退订的客户从数据库中删除。

(4)查询模块:本程序最重要的模块,也是本系统的精髓所在。

通过房间号或客户号实现客房的预订情况以及客户入住情况的查询工作。

(5)显示模块:显示所有客房、订房客户的基本信息。

在程序设计上,我们的目标就是先实现单个模块,进而实现整个程序。

本程序正是本着这种思想,一步一步,有条不紊的进行规划与设计。

本程序通过四个类:客户类、客户库类、客房类、客房库类,并通过主函数调用类函数实现了这五大功能模块的功能。

第六章使用说明(1)程序主界面:界面简洁明了,一目了然,便于操作。

选择数字0-6进入相应功能。

(2)订房:主界面选择1进入订房功能(3)查询房间预订情况:主界面选择3进入该功能(4)增删客户信息:主界面选择4进入该功能1.增加客户信息:系统提示输入客户号码、姓名等信息,按要求录入即可。

2.删除个人信息:系统提示输入要更改的客户号,输入后即可更改该客户的个人信息。

3.返回:返回主界面。

(5)增删房间信息:主界面选择5进入客房信息管理菜单。

1.新增:系统提示输入房间号、房间描述等信息,按要求录入即可。

2.删除:系统提示输入要删除的房间号,输入后即可删除该房间。

3.返回:返回主界面。

(6)查询客户和房间总信息量:主界面选择6进入该功能,通过读取文件信息、预订然后将信息输出显示。

(7)退房:主界面选择2进入退房功能。

(8)退出:主界面选择0退出程序。

(9)文件中读取房间信息room(10)文件读取客户信息customer第七章程序源代码程序源代码包含三大块:类定义、各功能函数定义及实现和主函数实现类定义源代码:#ifndef INFO_H#define INFO_H#include<fstream>#include<string>#include<cstdlib>using namespace std;namespace info_space{class Customer{public:Customer();string name;int number; //客户编号};class Room{public:Room();int room_number;int room_level;//房间等级,1-5级string room_config;//房间配置:高级,优,良,中等,普通};class CustomerBase{public:CustomerBase();void add(Customer temp);//前条件,temp已经含有值void remove(Customer temp);Customer the_customer;CustomerBase* next;};class RoomBase{public:RoomBase();void add(Room temp);void remove(Room temp);Room the_room;RoomBase* next;};class InfoBase{public:int customer_number;int room_number;InfoBase();void add(InfoBase*& temp_ptr,int cnum,int rnum);void remove(InfoBase*& temp_ptr,int cnum);bool check(InfoBase*& temp_ptr,int cnum);bool checkall(InfoBase*& temp_ptr,int cnum,int rnum);void output(InfoBase*& temp_ptr);InfoBase* next;};typedef CustomerBase* CBasePtr;typedef RoomBase* RBasePtr;typedef InfoBase* IBasePtr;Customer::Customer() //构造函数{name="";number=-1;}Room::Room(){room_number=-1;room_level=0;room_config="";}CustomerBase::CustomerBase(){next=NULL;}RoomBase::RoomBase(){next=NULL;}InfoBase::InfoBase(){next=NULL;}void pause(){char get;cout<<"请按下任何键继续……"<<endl;cin.get(get);cin.get(get);}}//info_space的结尾#endif //INFO_H各功能函数源代码:#ifndef INFO_FUN_H#define INFO_FUN_H#include<iostream>#include<fstream>#include<string>#include<cstdlib>#include "info.h"namespace info_space{void readfile(ifstream& instream,CBasePtr& temp) //从文件中读取客户数据{int t_number=-1;string t_name="";CBasePtr t_temp=new CustomerBase;instream>>t_name;while(!instream.eof()){instream>>t_number;t_temp->the_=t_name;t_temp->the_customer.number=t_number;if(instream.eof()) return;t_temp->next=temp;temp=t_temp;t_temp=NULL;t_temp=new CustomerBase; //循环创建用户信息类instream>>t_name;}}void writefile(ofstream& outstream,CBasePtr& temp) //信息写入文件中{if(temp==NULL) return;CBasePtr t_temp=temp; //为了防止写完文件后,指针到达指针尾while(t_temp!=NULL){if(t_temp->the_=="")t_temp=t_temp->next;if(t_temp==NULL) break; //这两个if语句用来判别输出客户信息outstream<<t_temp->the_<<" "<<t_temp->the_customer.number<<endl;t_temp=t_temp->next;}}void readfile(ifstream& instream,RBasePtr& temp) //读取文件函数的重载{int number=-1;int level=0;string config="";RBasePtr t_temp=new RoomBase;instream>>number;while(!instream.eof()){instream>>level;instream>>config;t_temp->the_room.room_number=number;t_temp->the_room.room_level=level;t_temp->the_room.room_config=config;if(instream.eof()) return;t_temp->next=temp;temp=t_temp;t_temp=NULL;t_temp=new RoomBase;instream>>number;}}void writefile(ofstream& outstream,RBasePtr& temp){if(temp==NULL) return;RBasePtr t_temp=temp;while(t_temp!=NULL){if(t_temp->the_room.room_number==-1)t_temp=t_temp->next;if(t_temp==NULL) break; //这两个if语句用来判别输出房间信息outstream<<t_temp->the_room.room_number<<" "<<t_temp->the_room.room_level<<" "<<t_temp->the_room.room_config<<endl;t_temp=t_temp->next;}}bool check(CBasePtr& temp_ptr,int number)//若找到相同编号则返回true,否则返回false {CBasePtr the_ptr=temp_ptr;while(the_ptr!=NULL){if(the_ptr->the_customer.number==number)return true;else the_ptr=the_ptr->next;}return false;}bool check(RBasePtr& temp_ptr,int number) //核对预订的客户和客房信息,看是否还有空房{RBasePtr the_ptr=temp_ptr;while(the_ptr!=NULL){if(the_ptr->the_room.room_number==number)return true;else the_ptr=the_ptr->next;}return false;}void CustomerBase::add(Customer temp) //添加客户信息{if(==""||temp.number==-1){cout<<"用户信息未填写完整,请重新填写!";return;}else{ifstream instream;ofstream outstream;instream.open("E:\\customer.txt");CBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); //读取文件中的客户信息,存入temp_ptr中CBasePtr tt_ptr=temp_ptr;//用此临时指针获取指针尾部指针,从而让新客户信息加到指针尾部,写入的时候也会相应写到文件尾部while(tt_ptr->next!=NULL)tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.number)){cout<<"客户编号已经存在,请核查!"<<endl;return;}else{CBasePtr ptr=new CustomerBase;ptr->the_customer=temp;tt_ptr->next=ptr;}outstream.open("E:\\customer.txt"); //open函数会刷新文档,里面存储的内容全失writefile(outstream,temp_ptr); //将新的链表信息写入文件中}}void CustomerBase::remove(Customer temp) //删除客户信息{int flag=0; //设置一个标记,用来检验删除是否成功ifstream instream;ofstream outstream;instream.open("E:\\customer.txt");CBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); //读取文件中的客户信息,存入temp_ptr中if(!check(temp_ptr,temp.number)){cout<<"不存在此编号!"<<endl;return;}CBasePtr before=temp_ptr,after=temp_ptr; //创建一个前指针和后指针,方便删除对应元素if(before->the_customer.number==temp.number){temp_ptr=temp_ptr->next; //如果第一个元素就是要删除的元素则直接删除after=NULL; //元素已经删除,可以直接写入文件中,设置after为NULL跳过while 循环flag=1;}while(after!=NULL){if(after->the_customer.number==temp.number){before->next=after->next;flag=1; //删除成功,设置标志为1}else{before=before->next;after=before->next;}}//while循环结束if(flag==0) cout<<"不存在此编号!"<<endl; //删除失败else{outstream.open("E:\\customer.txt");writefile(outstream,temp_ptr); //将新链表写入文件}}void RoomBase::add(Room temp) //文件中存在的房间信息{if(temp.room_number==-1||temp.room_level==0||temp.room_config==""){cout<<"房间信息未填写完整,请重新填写!";return;}else{ifstream instream;ofstream outstream;instream.open("E:\\room.txt");RBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); //读取文件中的房间信息,存入temp_ptr中RBasePtr tt_ptr=temp_ptr;//用此临时指针获取指针尾部指针,从而让新房间信息加到指针尾部,写入的时候也会相应写到文件尾部while(tt_ptr->next!=NULL) tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.room_number)){cout<<"房间编号已经存在,请核查!"<<endl;return;}else{RBasePtr ptr=new RoomBase;ptr->the_room=temp;tt_ptr->next=ptr;}outstream.open("E:\\room.txt");writefile(outstream,temp_ptr); //将新的链表信息写入文件中}}void RoomBase::remove(Room temp){int flag=0; //设置一个标记,用来检验删除是否成功ifstream instream;ofstream outstream;instream.open("E:\\room.txt");RBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); //读取文件中的房间信息,存入temp_ptr中if(!check(temp_ptr,temp.room_number)){cout<<"不存在此编号!"<<endl;return;}RBasePtr before=temp_ptr,after=temp_ptr; //创建一个前指针和后指针,方便删除对应if(before->the_room.room_number==temp.room_number){temp_ptr=temp_ptr->next; //如果第一个元素就是要删除的元素则直接删除after=NULL; //元素已经删除,可以直接写入文件中,设置after为NULL跳过while 循环flag=1;}while(after!=NULL){if(after->the_room.room_number==temp.room_number){before->next=after->next;flag=1; //删除成功,设置标志为1}else{before=before->next;after=before->next;}}//while循环结束if(flag==0) cout<<"不存在此编号!"<<endl; //删除失败else{outstream.open("E:\\room.txt");writefile(outstream,temp_ptr); //将新链表写入文件}}void InfoBase::add(IBasePtr& temp_ptr,int cnum,int rnum) //增加预定信息{if(cnum<0||rnum<0){cout<<"请填写一个正整数编号!";return;}else{IBasePtr ptr=new InfoBase;ptr->customer_number=cnum;ptr->room_number=rnum;ptr->next=temp_ptr;temp_ptr=ptr;}}void InfoBase::remove(IBasePtr& temp_ptr,int cnum) //退订后删除相关预定信息IBasePtr before=temp_ptr,after=temp_ptr;if(before->customer_number==cnum){temp_ptr=temp_ptr->next;cout<<"退订成功!"<<endl;return;}while(after!=NULL){if(after->customer_number==cnum){before->next=after->next;cout<<"退订成功!"<<endl;return;}else{before=before->next;after=before->next;}}}bool InfoBase::check(IBasePtr& temp_ptr,int cnum) //检查该客户是否预定房间{IBasePtr ptr=temp_ptr;while(ptr!=NULL){if(ptr->customer_number==cnum)return true;else ptr=ptr->next;}return false;}bool InfoBase::checkall(IBasePtr& temp_ptr,int cnum,int rnum){IBasePtr ptr=temp_ptr;while(ptr!=NULL){if(ptr->customer_number==cnum){cout<<"该客户已经预订房间!"<<endl;return true;}else if(ptr->room_number==rnum){cout<<"该房间已被预订!"<<endl;return true;}else ptr=ptr->next;}return false;}void InfoBase::output(IBasePtr& temp_ptr){if(temp_ptr==NULL){cout<<"没有房间预订信息可查!"<<endl;return;}else{IBasePtr ptr=temp_ptr;while(ptr!=NULL){cout<<ptr->customer_number<<"号客户选择了"<<ptr->room_number<<"号房间"<<endl;#include<string>#include<cstdlib>#include<dos.h>#include "Info.h" //包含所有的类定义#include "info_fun.h" //包含所有的函数定义using namespace info_space;int main(){int choice;int customer_number,room_number;CBasePtr CB_ptr=NULL;RBasePtr RB_ptr=NULL;IBasePtr IB_ptr=NULL;Customer the_customer;Room the_room;ifstream in_customer;in_customer.open("E:\\customer.txt"); //打开存储客户信息的文件 ifstream in_room;in_room.open("E:\\room.txt"); //打开存储房间信息的文件label_menu:cout<<"-------房间预订菜单-------"<<endl;cout<<"1………………预定房间"<<endl;cout<<"2………………退订房间"<<endl;cout<<"3………………查询房间预定情况"<<endl;cout<<"4………………增删客户信息"<<endl;cout<<"5………………增删房间信息"<<endl;cout<<"6………………查询客户和房间总信息"<<endl;cout<<"0………………退出"<<endl;cout<<"Your choice:"<<endl;cin>>choice;if(choice>6||choice<0){cout<<"输入的数字有误,请重新输入!"<<endl;system("cls");goto label_menu;}switch(choice){case 1:{cout<<"请输入客户编号和房间编号"<<endl;cout<<"客户编号:"<<endl;cin>>customer_number;cout<<"房间编号:"<<endl;cin>>room_number;readfile(in_customer,CB_ptr); //读取文件客户信息if(!check(CB_ptr,customer_number)){cout<<"客户编号不存在,请核查!"<<endl;pause();//system("cls");goto label_menu;}readfile(in_room,RB_ptr);//读取文件房间信息if(!check(RB_ptr,room_number)){cout<<"房间编号不存在,请核查!"<<endl;pause();//system("cls");goto label_menu;}if(!IB_ptr->checkall(IB_ptr,customer_number,room_number)) //客户没有预订房间且房间没有被预订IB_ptr->add(IB_ptr,customer_number,room_number);break;}case 2:{cout<<"请输入客户编号:"<<endl;cout<<"客户编号:"<<endl;cin>>customer_number;readfile(in_customer,CB_ptr); //读取文件客户信息if(!check(CB_ptr,customer_number)){cout<<"客户编号不存在,请核查!"<<endl;pause();//system("cls");goto label_menu;}if(IB_ptr->check(IB_ptr,customer_number)) //检查该客户是否已经预定房间IB_ptr->remove(IB_ptr,customer_number);else{cout<<"该客户未预定房间,请核查!"<<endl;pause();//system("cls");goto label_menu;}break;}case 3:IB_ptr->output(IB_ptr);break;}case 4:{int choose;cout<<"1………………增加客户信息"<<endl; cout<<"2………………删除客户信息"<<endl; cout<<"3………………返回主菜单"<<endl;cin>>choose;switch(choose){case 1:{string name="";int number=-1;Customer temp;cout<<"请输入客户名称和编号:"<<endl;cout<<"客户名称:"<<endl;cin>>name;cout<<"客户编号:"<<endl;cin>>number;=name; temp.number=number;CB_ptr->add(temp);break;}case 2:{string name="";int number=-1;Customer temp;cout<<"请输入客户编号:"<<endl;cin>>number;=name; temp.number=number;CB_ptr->remove(temp);break;}case 3:{system("cls");goto label_menu;}}break;case 5:{int choose;cout<<"1………………增加房间信息"<<endl;cout<<"2………………删除房间信息"<<endl;cout<<"3………………返回主菜单"<<endl;cin>>choose;switch(choose){case 1:{int number=-1;int level=0;string config="";Room temp;cout<<"请输入房间编号,等级(1-5级),配置(高级,优,良,中等,普通):"<<endl;cout<<"房间编号:"<<endl;cin>>number;cout<<"房间等级:"<<endl;cin>>level;cout<<"房间配置:"<<endl;cin>>config;temp.room_number=number;temp.room_level=level;temp.room_config=config;RB_ptr->add(temp);break;}case 2:{int number=-1;int level=0;string config="";Room temp;cout<<"请输入房间编号:"<<endl;cin>>number;temp.room_number=number;temp.room_level=level;temp.room_config=config;RB_ptr->remove(temp);break;}case 3:{system("cls");goto label_menu;}}break;}case 6:{readfile(in_customer,CB_ptr);readfile(in_room,RB_ptr); //读取两个文件的所有信息CBasePtr cptr=CB_ptr;RBasePtr rptr=RB_ptr; //不修改两个主要变量的的指向内容,所以定义了两个临时变量cout<<"所有客户信息:"<<endl;if(cptr->the_customer.number==-1){cout<<"---------没有任何客户信息!"<<endl<<endl;cptr=NULL;}while(cptr!=NULL){if(find_info(IB_ptr,cptr->the_customer.number)){cout<<cptr->the_customer.number<<"号客户("<<cptr->the_<<")------已经预订房间"<<endl<<endl;}else cout<<cptr->the_customer.number<<"号客户("<<cptr->the_<<")------还未预订房间"<<endl<<endl;cptr=cptr->next;}cout<<"所有房间信息:"<<endl;if(rptr->the_room.room_number==-1){cout<<"----------没有任何房间信息!"<<endl;rptr=NULL;}while(rptr!=NULL){if(find_info(IB_ptr,rptr->the_room.room_number)){cout<<rptr->the_room.room_number<<"号房间("<<rptr->the_room.room_level<<"级 "<<rptr->the_room.room_config<<")------已经被预订"<<endl<<endl;}else cout<<rptr->the_room.room_number<<"号房间("<<rptr->the_room.room_level<<"级 "<<rptr->the_room.room_config<<")------还未被预订"<<endl<<endl;rptr=rptr->next;}break;}case 0:{exit(0);}default:goto label_menu;}pause();//system("cls");goto label_menu;return 0;}结束语通过一段时间的设计与编写,该酒店管理系统终于有了一个比较完整的框架。

相关文档
最新文档