宾馆客房管理系统的设计与实现

合集下载

酒店客房管理系统的设计与实现

酒店客房管理系统的设计与实现

酒店客房管理系统的设计与实现引言随着旅游业的不断发展,酒店客房管理成为了酒店行业中不可或缺的一个环节。

为了提高酒店的管理效率和服务质量,开发一个高效的酒店客房管理系统是非常重要的。

本文将介绍如何设计和实现一个酒店客房管理系统。

系统设计功能需求分析在设计酒店客房管理系统之前,我们首先需要分析系统的功能需求。

酒店客房管理系统需要具备以下功能:1.客房信息管理:包括客房类型、客房价格、客房状态等信息的管理。

2.客户信息管理:包括客户的个人信息、订单信息等的管理。

3.订单管理:包括客户下单、订单处理、订单取消等功能。

4.客房预订管理:包括客户预订客房、入住及退房等功能。

5.房间状态管理:包括客房的清洁和维修等操作。

6.报表生成:能够生成各种统计报表,如客房出租率、客户满意度等。

数据库设计在酒店客房管理系统中,使用数据库存储和管理酒店、客房和客户等信息是非常重要的。

下面是一个简单的数据库设计示例:酒店表(hotel)字段类型描述id int 酒店IDname varchar(50) 酒店名称address varchar(100) 酒店地址phone varchar(20) 酒店电话客房表(room)字段类型描述id int 客房IDhotel_id int 酒店IDtype varchar(50) 客房类型price decimal(10, 2) 客房价格status varchar(20) 客房状态客户表(customer)字段类型描述id int 客户IDname varchar(50) 客户姓名phone varchar(20) 客户电话email varchar(50) 客户邮箱订单表(order)字段类型描述id int 订单IDroom_id int 客房IDcustomer_id int 客户IDstart_date datetime 入住日期end_date datetime 退房日期status varchar(20) 订单状态系统架构设计酒店客房管理系统可以采用Web应用的形式进行设计和实现。

酒店客房管理系统的设计与实现

酒店客房管理系统的设计与实现

酒店客房管理系统的设计与实现1. 引言酒店客房管理系统是一种帮助酒店管理客房信息并提供相关服务的软件系统。

该系统能够方便酒店管理人员对客房进行预订管理、入住登记、客房状态跟踪等操作,提高客房的利用率和服务质量。

本文将介绍酒店客房管理系统的设计与实现。

2. 功能需求分析酒店客房管理系统的功能主要包括以下几点:1.客房信息管理:包括客房类型、客房价格、客房状态等信息的录入和查询。

2.客房预订管理:支持客户对客房进行预订操作,同时能够进行客房的冲突检测,避免重复预订。

3.客房入住管理:记录客户的入住信息,包括入住登记、客房分配、押金收取等。

4.客房状态跟踪:及时更新客房的状态信息,包括客房是否已打扫、客房是否已空净等。

5.客房费用管理:包括客房的消费记录、押金退还、费用结算等功能。

6.统计报表生成:能够根据需求生成各类统计报表,如客房利用率、客房收入等。

3. 系统设计3.1 数据库设计酒店客房管理系统的数据库设计是系统设计的关键部分。

系统需要设计以下几个主要的数据表:•客房表:存储客房的基本信息,包括客房ID、客房类型、价格、状态等字段。

•客户表:存储客户的基本信息,包括客户ID、姓名、联系方式等字段。

•预订表:存储客户的预订信息,包括客户ID、客房ID、预订时间、预订状态等字段。

•入住表:存储客户的入住信息,包括客户ID、客房ID、入住时间、退房时间、押金等字段。

•消费表:存储客户的消费记录,包括客户ID、客房ID、消费金额、消费时间等字段。

3.2 系统架构设计酒店客房管理系统的架构设计应该采用分层结构,主要包括表示层、业务逻辑层和数据存储层。

•表示层:负责与用户交互,展示界面并接收用户输入,使用HTML、CSS和JavaScript等前端技术完成。

•业务逻辑层:负责处理用户请求、业务逻辑判断、调用数据存储层从数据库中读取或写入数据等,使用Java或其他后端语言实现。

•数据存储层:负责与数据库进行交互,读取或写入数据,可以使用关系数据库(SQL Server、MySQL)或非关系数据库(MongoDB、Redis)等进行存储。

《2024年酒店管理信息系统的设计与实现》范文

《2024年酒店管理信息系统的设计与实现》范文

《酒店管理信息系统的设计与实现》篇一一、引言随着信息技术的飞速发展,酒店业面临着前所未有的挑战与机遇。

为了提升酒店的管理效率、优化客户体验,酒店管理信息系统的设计与实现显得尤为重要。

本文将详细阐述酒店管理信息系统的设计思路、技术实现及其实施效果,以期为相关领域的研究与实践提供有益的参考。

二、酒店管理信息系统的设计1. 系统需求分析酒店管理信息系统需要满足酒店日常运营的多种需求,包括客房管理、订单处理、财务管理、员工管理、客户信息管理等。

系统应具备实时性、可扩展性及易用性,以满足不同部门的需求。

2. 系统架构设计酒店管理信息系统采用B/S架构,以数据库为核心,通过浏览器访问。

系统分为前台和后台两部分,前台主要用于客户自助操作,后台则用于管理员对系统进行维护和管理。

系统架构设计需确保数据的安全性和稳定性。

3. 数据库设计数据库是酒店管理信息系统的核心,需要设计合理的表结构和字段,以存储酒店的各种信息。

数据库设计应遵循第三范式,确保数据的完整性和一致性。

同时,为了提高查询效率,需要合理设置索引。

三、技术实现1. 开发环境与工具酒店管理信息系统采用Java语言开发,使用Spring Boot框架,数据库采用MySQL。

开发环境包括IDEA、Git等工具,用于代码编写、版本控制等。

2. 关键技术实现(1)客房管理模块:实现客房信息的增删改查功能,包括房型、价格、状态等信息的录入和查询。

(2)订单处理模块:实现客户订单的接收、处理和结算功能,支持在线支付和现金结算方式。

(3)财务管理模块:实现收入、支出、报表等财务数据的统计和分析功能。

(4)员工管理模块:实现员工信息的录入、修改和查询功能,支持员工排班和考勤管理。

(5)客户信息管理模块:实现客户信息的录入、查询和分类功能,支持客户资料的长期保存和查询。

四、实施效果1. 提高管理效率酒店管理信息系统的实施,使得酒店各项管理工作更加高效。

系统自动处理大量数据,减少人工操作,提高工作效率。

宾馆客房管理系统设计与实现

宾馆客房管理系统设计与实现

宾馆客房管理系统设计与实现在当前酒店行业的发展中,宾馆客房管理系统正成为酒店经营的重要工具之一。

该系统可以提高酒店的管理效率,优化客户的服务体验,从而获得更高的客户满意度和经济效益。

本文将围绕宾馆客房管理系统的设计与实现展开论述,并探讨其应用前景及未来趋势。

1、研究背景目前,随着互联网行业的发展,酒店行业也在逐步向数字化、信息化、智能化方向发展。

而宾馆客房管理系统作为信息化建设的重要内容,已经成为了现代酒店管理的基本要素之一。

该系统具有实时性、精准性、高效性、便捷性等优点,可以为酒店提供全方位、全流程的管理支持和服务保障。

2、研究内容本文主要研究内容包括以下几个方面:(1)系统需求分析在设计和实现宾馆客房管理系统之前,我们需要进行系统需求分析,明确系统的功能和性能特点。

具体来说,我们需要考虑以下几个方面:①客房信息管理:包括客房类型、客房面积、客房价格、空房情况等信息的录入和查询。

②客户管理:包括客户信息的录入、查询、修改和删除等功能。

③订单管理:包括预订订单、入住订单、退房订单等订单信息的录入、查询、修改和删除等功能。

④前台服务:包括客户入住、办理结账、换房等前台服务的支持。

⑤财务管理:包括营业额统计、收入支出的管理、发票打印等财务管理的支持。

(2)系统设计在进行系统设计时,我们需要考虑系统的架构、模块划分、数据库设计等方面的问题。

具体来说,我们需要进行以下几个方面的工作:①系统架构的设计:包括前台界面设计、后台数据库的设计、系统模块的划分等方面的内容。

②模块划分:按照系统的不同功能,对系统的各个模块进行设计,包括客房信息管理、客户管理、订单管理、前台服务、财务管理等模块。

③数据库设计:建立系统所需的数据库,包括房间信息、客户信息、订单信息、财务信息等数据库。

同时需要考虑数据库的表结构、关系设计等问题。

(3)系统实现在进行系统实现时,我们需要根据设计方案进行编码、测试、上线等实际操作。

具体来说,我们需要进行以下几个方面的工作:①编码:根据系统设计方案进行编码,实现系统的各个模块功能。

酒店业中的智能客房管理系统设计与实现

酒店业中的智能客房管理系统设计与实现

酒店业中的智能客房管理系统设计与实现智能客房管理系统(Smart Room Management System)是酒店业中的一项创新技术,其目的是提升客房管理的效率与质量,为客人提供更加舒适、便捷的入住体验。

本文将探讨智能客房管理系统的设计与实现过程,以及其对酒店业的影响和价值。

一、智能客房管理系统的设计与实现1. 系统功能设计智能客房管理系统需要具备以下功能:- 客房预定管理:包括客房预订、入住和退房等操作,可以通过手机APP或网页进行预定。

- 自动化设备控制:客房内的各种设备如电视、空调、窗帘等可以通过系统进行集中控制。

- 智能化服务:客房内配备语音识别和人工智能助手,可以提供个性化的服务和解答客人的问题。

- 安全监控:客房内安装摄像头和传感器,可以实时监控客房的安全状况,并及时报警。

- 智能能源管理:通过智能控制电器设备的开关,达到节能的目的。

2. 技术架构设计智能客房管理系统的技术架构设计包括硬件和软件两部分。

硬件方面,需要选择适合酒店业的智能设备,如智能门锁、智能开关、智能插座等。

这些设备需要与中央控制器、传感器和摄像头等硬件设备进行连接。

软件方面,需要开发客户端App和管理端系统。

客户端App提供给客人使用,可以通过手机进行客房预定、控制设备、咨询服务等功能。

管理端系统提供给酒店工作人员使用,可以管理客房信息、设备状态、安全监控等功能。

3. 数据管理与信息交互设计智能客房管理系统需要对客房信息、设备状态、服务需求等数据进行管理。

这些数据需要通过网络进行传输和共享。

同时,系统还需要与酒店其他管理系统(如门禁系统、POS系统等)进行信息交互,实现各系统之间的数据共享和协同工作。

为了保障数据的安全性,系统需要采取加密、权限控制等安全措施,防止数据泄露和非法访问。

二、智能客房管理系统对酒店业的影响和价值1. 提升客户体验智能客房管理系统可以为客人提供更加便捷、舒适的入住体验。

客人可以通过手机预定客房、实时掌握客房信息,并通过语音识别和人工智能助手获得个性化服务。

宾馆客房管理系统设计报告1

宾馆客房管理系统设计报告1

宾馆客房管理系统设计报告
姓名:
专业:
班级:
学号:
指导老师:
时间:
一、系统概述
当今社会,随着宾馆业规模不断扩大,有关宾馆的各种信息也成倍增长,特别是一些比较大的餐饮客房企业,而面对庞大的信息量,有必要开发一套与之相适应的信息管理系统来提高宾馆管理工作的效率。

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

二、业务分析
(一)组织结构图
(二)职能活动图
(三)业务流程图
三、系统逻辑模型设计
数据流图
0层图
1层图
2层图
客房管理系统
客房管理住宿
管理
员工
管理
统计
输出
房间信息更新房价
信息
更新
入住
登记
退房
登记
结账
收银
员工
信息
更新
员工
奖惩
管理
工资
管理
住宿
历史
查询
员工
业务
统计
房型(房间类型,价格)
客房信息(客房号,房间类型,客房状态) 外键:房间类型
顾客信息(身份证号,姓名,联系电话)
员工信息(员工编号,姓名,性别,职务,联系电话)
业务(编号,客房号,身份证号,业务类别,金额,日期,时间,职员编号) 外键: 客房号,身份证号, 职员编号。

宾馆客房管理系统的设计与实现 毕业设计

宾馆客房管理系统的设计与实现  毕业设计

宾馆客房管理系统的设计与实现毕业设计JIU JIANG UNIVERSITY毕业论文题目宾馆客房管理系统的实现英文题目 The Realization of the Hotel RoomManagement System院系信息科学与技术学院专业计算机科学与技术姓名曾志伟班级学号 A081130指导教师殷明芳二○一二年五月信息科学与技术学院学士学位论文摘要计算机的应用普及到经济和社会生活的各个领域,使原来的旧的管理方法越来越不适应现在社会的发展。

在宾馆客房管理中,也存在着这种问题,为了提高办事效率,需要开发一套操作简单方便的管理系统。

宾馆客房管理系统属于信息管理系统,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。

对于前者要求建立数据一致性和完整性、数据安全性好的数据库。

而对于后者则要求应用程序功能完备,易使用等特点。

系统主要完成对客房住宿、信息查询的管理,其中添加、修改、删除,查询,打印信息以及用户管理等方面也是主要的。

系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,系统有完整的用户添加、删除、密码修改功能。

本系统是一个界面友好,操作简单,基本满足用户需求的管理系统。

关键词:宾馆客房,数据库,管理系统信息科学与技术学院学士学位论文AbstractPopularity of computer applications to economic and social life in all areas, so that their old methods of management are now more suited to the development of society. Management in the hotel rooms, there are such problems, in order to improve efficiency, need to develop a simple and convenient management system.Hotel Room Management system is an information management system, its development including the establishment and maintenance of back-end database application development and front two. For the former requires the establishment of data consistency and integrity, data security and good database. For the latter requires the application fully functional, easy to use and so on. System is mainly to complete the room information management, including add, modify, delete, query, print management, information, and six users. Core of the system is to add, modify, and delete the link between the three, each table will modify the impact of other linked tables, a complete system users to add, delete, modify the password function.The system is a user-friendly, simple, basic management systems to meet user needs.Keywords: Hotel Rooms, Database, Management Systems信息科学与技术学院学士学位论文目录摘要 (I)Abstract (II)1 绪论1.1开发背景及意义 (1)1.2 论文结构 (1)2 需求分析2.1 可行性分析 (2)2.2 系统功能分析 (3)2.3 实体—联系图及数据流图 (4)2.4 系统用例图 (8)2.5 系统采用的相关技术 (9)2.6小结 (10)3 系统设计3.1 系统的功能设计 (11)3.2 系统的结构设计 (12)3.3 数据库设计 (14)信息科学与技术学院学士学位论文3.4 小结 (19)4 系统实现4.1 界面实现 (21)4.2 数据库实现 (22)4.3 功能模块实现 (23)4.4 本章小结 (35)5 系统测试与维护5.1 系统测试 (36)5.2 系统的维护 (44)5.3 小结 (44)总结 (45)致谢 (46)参考文献 (47)信息科学与技术学院学士学位论文1绪论1.1开发背景及意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

酒店客房管理系统的设计与实现论文

酒店客房管理系统的设计与实现论文

摘要本文通过开发一个数据库酒店客房管理系统,学习用Microsoft SQL Server 2000开发数据库管理系统。

采用Power Builder9.0等相关软件为开发工具;通过对计算机硬件和软件解决方案的论证;对应用领域进行调查分析;参考各种资料和进行数据库编程实践。

在指导老师的帮助下,成功地实现了本系统主要的功能:预订管理、入住管理、消费记账管理和收银退房管理,并能使设计的数据库系统能够实现一般所需要求的管理。

酒店客房管理系统主要是针对一般的酒店客房部作为单位使用对象而开发的,之所以把该系统定位如此之小,主要是考虑毕业设计题目不易过大,但考虑系统的完整性,仍然把它作为一个典型的信息管理系统(MIS)而设计。

其系统开发任务主要包括数据库的设计与维护、客户端应用程序的开发等两个方面。

对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性如用户需要密码才能使用等,而对于后者则要求程序界面友好、功能完备等特点。

经过详细的分析,选用Power Builder9.0作为前端开发工具,利用其提供的集成开发环境及各种控件,尤其是对数据库的良好支持完成对数据库的各种操作,达到对酒店客房管理的目的。

首先建立系统应用原型,然后对原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。

关键词:数据库;信息管理系统(MIS);完整性AbstractWith the purpose to learn how to use Microsoft SQL Server 2000 and Power Builder9.0 to develop a hotel room database management system, I made a survey to study and analysis the current situation of small hotel in a small area of Jinhua city, so that more information about how rooms are used in these hotels can be learned. What’s more, I make sure that my solution of the database design can be worked from both computer hardware and software aspects. And with the help of various referenced information and practice of database programming, I have basically fulfilled the design task and I believe that my database can meet the needs of the database management.Hotel room management system is mainly aimed at the general's hotel rooms as the unit of the developed object. Why the positioning of the system is so small lies on it is not appropriate to make the design is too large. In terms of the integrity of the system, it is still designed as a typical management information system (MIS). The main task of the system development including two aspects: database design and client applications. For the former requirement to establish a database with the integrity and consistency, and has a certain amount of data security strategy such as the users should need a password to login, while the latter requires user-friendly, full-featured application platform and so on. Power Builder9.0 chosen as the development tools has integrated development environment and a variety of controls, especially for a good support to database and completions of various operations on the database. Firstly, prototype the system, and then find iterative prototyping system, constantly revised and improved the database, until users are satisfied with the practical system.Key words: Database;Management information system (MIS);Integrity目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 课题研究现状分析 (1)第二章课题研究的主要内容 (3)2.1 项目开发背景 (3)2.2 编写目的 (3)2.3 系统功能分析 (3)2.4 系统建设的基本原则 (4)2.5 用户界面 (4)2.6 系统的设计目标 (4)2.7 可行性分析 (4)2.7.1 技术可行性研究 (5)2.7.2 管理上的可行性分析 (5)2.7.3 经济可行性研究 (6)2.7.4 操作可行性研究 (6)第三章系统开发环境与开发工具 (7)3.1 PowerBuilder介绍 (7)3.1.2 PowerBuilder与数据库的连接 (8)3.2 数据库介绍 (8)第四章系统分析 (10)4.1 系统需求分析 (10)4.2 系统功能要求 (11)4.3 系统功能设计 (11)4.3.1 系统功能描述: (11)4.3.2 系统功能模块设计: (13)4.4 数据流图 (14)4.5数据字典 (14)4.6数据库设计 (15)4.6.1数据库需求分析 (15)4.6.2. 系统E-R图 (16)4.6.3 数据库三范式设计 (17)4.6.4 系统数据库逻辑结构设计 (19)4.6.5 数据库结构的实现 (22)第五章系统具体功能实现 (26)5.1 系统界面设计 (26)5.2系统主要功能及部分代码实现 (27)5.2.1 基础设置 (27)第六章系统测试 (38)第七章系统实施与维护 (41)7.1 系统实施 (41)7.2 系统的运行管理 (41)7.3 系统维护 (42)第八章结束语 (43)致谢 (44)参考文献 (45)第一章绪论1.1 课题研究现状分析二十一世纪,信息资源已成为重要的战略资源;信息技术正以其广泛的渗透性和无与伦比的先进性与传统产业结合;信息产业已发展为新的经济增长点;信息化已成为推进国民经济和社会发展的助力器;信息化水平则成为一个城市或地区现代化水平和综合实力的重要标志。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告题目宾馆客房管理系统的设计与实现学号姓名年级专业指导教师完成日期年月日目录一.问题描述 (2)二. 系统需求分析 (2)2.1 设计前调查 (2)2.2 用户需求分析 (2)2.3 核心数据流图 (3)三、概念设计 (5)3.1 局部E-R图 (5)3.2 程序结构图 (5)四、逻辑设计 (6)4.1 开发环境 (6)五、程序调试 (6)5.1程序登陆 (6)5.2 订房 (7)5.3入住 (7)5.4退房 (8)5.5信息查询 (8)六、程序代码 (8)七、总结 (22)物理与电子信息学院课程设计评定意见 (23)一.问题描述宾馆客房管理软件1)某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;2)链表存储结构:姓名、性别、房号、后续指针,按房间号有序;3)能实现入住(注意性别)和退房,能按给定姓名、房号查询;4)建议采用链表结构,但用其它方法实现也可。

二. 系统需求分析2.1 设计前调查近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。

尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。

然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。

像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。

但对占80%以上的广大中小型宾馆来说,是难以做到的。

因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。

而对宾馆的经营状况起决定作用的是客房的管理。

简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。

传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。

2.2 用户需求分析建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。

从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。

因而程序需要实现的功能有如下主要六大功能:一、客房管理:客房登记,入住情况查询,客房状态查看。

二、宾客入住管理:客房预定,登记入住,房间调整,退房结帐三、物资管理:物品登记,物品查询,报修和维修,定时提醒。

四、财务管理:追加押金,增删财务,日报表五、员工管理:增改员工,查删员工六、系统管理:增删管理员,修改密码七、其他功能:界面管理2.3 核心数据流图部分数据流图(宾馆客房管理系统的数据流——客人信息)(宾馆客房管理系统的数据流——入住登记)(宾馆客房管理系统的数据流——房间状态)数据结构数据结构反映了数据之间的组合关系。

一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。

数据结构的具体描述如下:(1)数据结构:客房信息含义说明:是宾馆客房管理系统的主体数据结构,定义了宾馆客房的有关信息组成:房号、类别、楼层、单价、可容纳人数、说明(2)数据结构:旅客信息含义说明:是酒店客房管理系统中的旅客数据结构,定义了旅客的有关信息组成:入住编号、顾客姓名、性别、证件名称、证件号码(3)数据结构:操作员信息含义说明:是酒店客房管理系统中的操作员数据结构,定义了操作员的有关信息组成:用户名、密码数据存储通过SQL SERVER 2000 建立一个名为“酒店”的库,存放酒店客房信息、旅客信息和旅客入住信息以提供应用程序进行系统业务功能数据所需的数据。

1)数据存储名称:客房信息表说明:记录所有房间的基本信息输入的数据流:服务员查看酒店房间基本信息输出的数据流:输出房间基本信息给服务员查看组成:房号,类别,楼层,单价,可容纳人数,说明2)数据存储名称:旅客信息表说明:记录住店客人的基本信息输入的数据流:在住店管理界面中添加客人基本信息输出的数据流:在在住客人列表中或历史信息中查看客人基本信息组成:入住编号,顾客姓名,性别,证件名称,证件号码3)数据存储名称:旅客入住登记信息表说明:记录开房和退房的基本信息输入的数据流:在住店管理界面中添加客人基本信息输出的数据流:在开房,退房,在住客人列表中或历史信息中查看有关基本信息组成:入住编号,房号,预付金额,入住时间,退房时间三、概念设计3.1 局部E-R图3.2 程序结构图四.逻辑设计4.1.开发环境软件:Visual c++ 6.0 硬件:HP ProBook 4321s五.程序调试5.1程序登陆5.2订房5.3入住5.4退房5.5信息查询六.程序代码#include<stdio.h>#include<string.h>//******************************************************************* ****************void initial_room(); //初始化80个房间信息void welcome(); //验证用户登陆,登陆成功显示欢迎信息void enter();void book_room();void check_in();void check_out();void inquire();int i=0;//******************************************************************* ****************struct Room{int number;int dank;int price;int state;}room[80];struct Customer{char name[10];char ID[19];int room_number;int prepaid;int change;int day;}customer[80];void createCustomer(){printf("请您输入顾客的姓名\n");scanf("%s", customer[i].name);printf("请您输入顾客的身份证号码\n");scanf("%s", customer[i].ID);customer[i].prepaid = 0;customer[i].change = 0;customer[i].day=0;}void set_name(char *n, int index){strcpy(customer[index].name,n);}void set_ID(char *p, int index){strcpy(customer[index].ID,p);}void set_room_number(int n, int index){customer[index].room_number=n;void set_day(int d, int index){customer[index].day=d;}void set_prepaid(int p, int index){customer[index].prepaid=p;}char *get_name(int index){return customer[index].name;}char *get_ID(int index){return customer[index].ID;}int get_room_number(int index){return customer[index].room_number;}int get_day(int index){return customer[index].day;}int get_prepaid(int index){return customer[index].prepaid;}//******************************************************************* ****************void main() //程序入口从这里开始运行{int choice=1;initial_room(); //初始化80个房间的信息,分四个等级welcome(); //验证用户登陆,登陆成功显示欢迎信息while(choice==1){enter(); //根据用户的选择执行不同的功能getchar();printf("\n继续使用本系统请按\"1\",退出请按\"2\"! ");scanf("%d", &choice);printf("\n");}}//系统登陆界面********************************************************************* **void welcome() //验证用户登陆,登陆成功显示欢迎信息{char name[4],code[7];printf("请输入用户名和密码(以空格隔开):\n");scanf("%s%s", name, code);while((strcmp(name,"000")!=0)||(strcmp(code,"666666")!=0)){printf("用户名或密码输入有误,请重新输入!\n");scanf("%s%s", name, code);}printf("\n\n");printf(" ▲***************************▲\n"); printf(" 欢迎使用宾馆客房管理系统!\n");printf(" ▲***************************▲\n\n"); }//系统入口********************************************************************* ******void enter(){int kind_of_service;printf("请选择服务类别:订房、入住、退房还是查询? \n");printf(" 1->定房 2->入住 3->退房 4->查询: ");scanf("%d", &kind_of_service);if((kind_of_service>4) || (kind_of_service<1)){printf("您的输入有误,请重试!\n");scanf("%d", &kind_of_service);}elseswitch(kind_of_service){case 1: book_room();break;case 2: check_in();break;case 3: check_out();break;case 4: inquire();break;}}//订房实现********************************************************************* ******void book_room(){createCustomer();int room_standard,day;printf("请您选择预定房间的标准:\n");printf("1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n");scanf("%d", &room_standard);printf("请输入预定天数\n");scanf("%d", &day);set_day(day, i);switch(room_standard){int n;case 1:printf("住房费用总共为: %d 元\n", day*150); //计算住房费用for(n=0;n<20;n++) //从第一个级别的房间中查找一个空闲的房间{if(room[n].state==0) //state=0表示该住房没有被预定的{printf("预定成功★房间号码为: %d\n", room[n].number);room[n].state=1;set_room_number(room[n].number, i);break;}}break;case 2:printf("住房费用总共为: %d 元\n", day*200);for(n=20;n<40;n++){if(room[n].state==0){printf("预定成功★房间号码为: %d\n", room[n].number);room[n].state=1;set_room_number(room[n].number, i);break;}}break;case 3:printf("住房费用总共为: %d 元\n", day*300);for(n=40;n<60;n++){if(room[n].state==0){printf("预定成功★房间号码为: %d\n",room[n].number);room[n].state=1;set_room_number(room[n].number, i);break;}}break;case 4:printf("住房费用总共为: %d 元\n", day*600);for(n=60;n<80;n++){if(room[n].state==0){printf("预定成功★房间号码为: %d\n",room[n].number);room[n].state=1;set_room_number(room[n].number, i);break;}}break;}i++; //住房的顾客数加1}//入住登记********************************************************************* ******void check_in(){char name1[10],id1[19];int ding_or_no,prepaid;printf("该顾客订房了吗? (1->订了 2->没订) ");scanf("%d", &ding_or_no);if(ding_or_no==1){printf("请输入顾客的姓名:\n");scanf("%s", name1);printf("请输入顾客的身份证号码:\n");scanf("%s", id1);for(int j=0;j<=i;j++){if((strcmp(get_name(j),name1)==0)&&(strcmp(get_ID(j),id1)==0)) //查找该顾客的定房信息{int num=get_room_number(j); //取得定房的房间号printf("顾客%s今天入住本宾馆! 房间号码为: %d\n", name1, num);switch(num/100){case 6:prepaid=get_day(j)*150;set_prepaid(prepaid, j);printf("请收房费 %d元整!\n", prepaid); //开始收费room[num%100-1].state=2; //修改房间状态为入住状态break;case 7:prepaid=get_day(j)*200;set_prepaid(prepaid, j);printf("请收房费 %d元整!\n", prepaid);room[19+num%100].state=2;break;case 8:prepaid=get_day(j)*300;set_prepaid(prepaid, j);printf("请收房费 %d元整!\n", prepaid);room[39+num%100].state=2;break;case 9:prepaid=get_day(j)*600;set_prepaid(prepaid, j);printf("请收房费 %d元整!\n", prepaid);room[59+num%100].state=2;break;}break;}}}else{createCustomer();int room_standard,day;printf("请您选择预定房间的标准:\n");printf("1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n");scanf("%d", &room_standard);printf("请输入住宿天数\n");scanf("%d", &day);set_day(day, i);switch(room_standard){int n;case 1:prepaid=day*150;set_prepaid(prepaid, i);printf("请收房费 %d元整!\n", prepaid);for(n=0;n<20;n++){if(room[n].state==0){printf("入住房间号码为: %d\n", room[n].number); room[n].state=2;set_room_number(room[n].number, i);break;}}break;case 2:prepaid=day*200;set_prepaid(prepaid, i);printf("请收房费 %d元整!\n", prepaid);for(n=20;n<40;n++){if(room[n].state==0){printf("入住房间号码为: %d\n", room[n].number); room[n].state=2;set_room_number(room[n].number, i);break;}}break;case 3:prepaid=day*300;set_prepaid(prepaid, i);printf("请收房费 %d元整!\n", prepaid);for(n=40;n<60;n++){if(room[n].state==0){printf("入住房间号码为: %d\n", room[n].number);room[n].state=2;set_room_number(room[n].number, i);break;}}break;case 4:prepaid=day*600;set_prepaid(prepaid, i);printf("请收房费 %d元整!\n", prepaid);for(n=60;n<80;n++){if(room[n].state==0){printf("入住房间号码为: %d\n", room[n].number);room[n].state=2;set_room_number(room[n].number, i);break;}}break;}i++;}}//退房结算********************************************************************* ******void check_out(){char name2[10],id2[19];int standard,j,room_number,day1,day2,day;printf("请输入要退房的顾客姓名和身份证号码:\n");scanf("%s%s", name2, id2);printf("请输入该顾客实住天数:\n");scanf("%d", &day2);for(j=0;j<i;j++){if((strcmp(get_name(j),name2)==0)&&(strcmp(get_ID(j),id2)==0)) {room_number=get_room_number(j);standard=room_number/100;day1=get_day(j);day=day1-day2;switch(standard){case 6:printf("顾客的房间号是%d :为单人间,每天150元\n",room_number);printf("该顾客预付了房费 %d元, 实际消费 %d元整!\n\n",get_prepaid(j), day2*150);if(day>0)printf("请退给该顾客 %d 元整!\n", day*150);if(day<0)printf("请补收该顾客住房费 %d 元整!\n", -day*150);break;case 7:printf("顾客的房间号是%d :为单人间,每天200元\n",room_number);printf("该顾客预付了房费 %d元, 实际消费 %d元整!\n\n",get_prepaid(j), day2*200);if(day>0)printf("请退给该顾客 %d 元整!\n", day*200);if(day<0)printf("请补收该顾客住房费 %d 元整!\n", -day*200);break;case 8:printf("顾客的房间号是%d :为单人间,每天300元\n",room_number);printf("该顾客预付了房费 %d元, 实际消费 %d元整!\n\n",get_prepaid(j), day2*300);if(day>0)printf("请退给该顾客 %d 元整!\n", day*300);if(day<0)printf("请补收该顾客住房费 %d 元整!\n", -day*300);break;case 9:printf("顾客的房间号是%d :为单人间,每天600元\n",room_number);printf("该顾客预付了房费 %d元, 实际消费 %d元整!\n\n",get_prepaid(j), day2*600);if(day>0)printf("请退给该顾客 %d 元整!\n", day*600);if(day<0)printf("请补收该顾客住房费 %d 元整!\n", -day*600);break;}printf("\n退房核算清楚,请按1: ");int account;scanf("%d", &account);if(account==1){for(int k=0;k<80;k++){if(room[k].number==get_room_number(j))room[k].state=0;}i--;for(;j<i;j++){customer[j]=customer[j+1];}}}}}//信息查询********************************************************************* ******void inquire(){int inquire_choice;printf("房间信息查询请按1, 顾客信息查询请按2: \n");scanf("%d", &inquire_choice);if(inquire_choice==1){int j,k=0;printf("\n下列房间还没人预订,也没人入住:\n");for(j=0;j<80;j++){if(room[j].state==0){if(k%10==0) printf("\n");printf("%d\t", room[j].number);k++;}}k=0;printf("\n\n下列房间已预订:");for(j=0;j<80;j++){if(room[j].state==1){if(k%10==0) printf("\n");printf("%d\t", room[j].number);k++;}}k=0;printf("\n\n下列房间有人入住:\n");for(j=0;j<80;j++){if(room[j].state==2){if(k%10==0) printf("\n");printf("%d\t", room[j].number);k++;}}printf("\n\n");}else if(inquire_choice==2){getchar();printf("按姓名查询请按1, 按身份证查询请按2: \n"); int inquire_choice;scanf("%d", &inquire_choice);if(inquire_choice==1){char name3[10];printf("请输入顾客的姓名: \n");scanf("%s", name3);for(int j=0;j<=i;j++){if(strcmp(get_name(j),name3)==0){printf("%s的住房信息如下:\n", name3);printf("\t房间号为: %d\n", get_room_number(j));printf("\t预付房费为: %d\n", get_prepaid(j));}}}if(inquire_choice==2){char id3[10];printf("请输入顾客的身份证: \n");scanf("%s", id3);for(int j=0;j<=i;j++){if(strcmp(get_ID(j),id3)==0){printf("%d的住房信息如下:\n", get_name(j));printf("\t房间号为: %d\n", get_room_number(j));printf("\t预付房费为: %d\n", get_prepaid(j));}}}}}//房间信息初始化********************************************************************* void initial_room() //对80个房间进行初始化,分4个等级{int j,k=101;for(j=0;j<20;j++){room[j].number=k++;room[j].dank=1;room[j].price=150;room[j].state=0;}k=201;for(j=20;j<40;j++){room[j].number=k++;room[j].dank=2;room[j].price=200;room[j].state=0;}k=301;for(j=40;j<60;j++){room[j].number=k++;room[j].dank=3;room[j].price=300;room[j].state=0;}k=401;for(j=60;j<80;j++){room[j].number=k++;room[j].dank=4;room[j].price=600;room[j].state=0;}}七、总结两周的奋战,终于达到了预定的效果,完成了该信息系统的设计和程序编写。

相关文档
最新文档