基于C++的宾客房间管理系统 (无偿分享,点个关注)

 因为淋过雨,所以愿意在别人淋雨的时候为别人撑一把伞!!!只愿求的你的一个小关注!!!!!!!!!!!

目 录

1. 引言

1.1 编写目的

1.2 背景

2.可行性分析

2.1对现有系统的分析

2.1.1市场调研

2.1.2技术难度

2.2技术可行性分析

2.3 经济可行性分析

2.4 社会因素可行性分析

3.需求分析

4.总体设计

5.数据库设计

6.详细设计

5.1数据类型定义:

5.2预定功能模块:

5.21模块算法:

5.22流程图:

5.3入住功能模块:

5.31模块算法:

5.32流程图:

5.4退房功能模块:

5.41模块算法:

5.42流程图:

5.5信息查询功能模块

5.51算法模块:

5.52流程图:

7.系统调试

参考文献

总  结

附录

1. 引言

1.1 编写目的

在信息高度发达的今天,酒店业务涉及的各个工作环节己不再仅仅是传统的住宿、结算业务,而是更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从客房的营销即客人的预定开始,到入住登记直到最后退房结账,整个过程应该能够体现以宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。

因此,采用全新的计算机管理系统,将成为提高酒店的管理效率,改善服务水准的手段之一。本系统利用数据库知识图形化,是用户很快的了解系统含义,系统从满足客户的需求角度出发,实现了酒店管理的基本流程。系统的主要功能包括预定、入住、查询、退房及对客户所消费的结算等等。用户入住酒店的时候所要等待的时间就会大大的减少,操作员能够很方便的对用户信息的登记和对房间状态的的管理,从而实现了酒店管理系统高效、准确的特点。

1.2  背景

当前,随着信息的不断飞速发展,信息技术已逐渐成为各种技术的基础,信息也成为企业具有竞争力的核心要素。企业的生存和发展依靠正确的决策,而决策的基础就是信息,所以企业竞争力的高低完全取决于企业对信息的获取和处理能力。企业要准确、快速的获取和处理信息,企业信息化是必然的选择。企业必须加快内部信息交流,改进企业业务流程和管理模式,提高运行效率,降低成本,提高竞争力,信息化建设是企业适应社会发展的要求。企业管理信息系统即企业MIS是企业信息化的重要内容。

随着我国改革开放的不断推进,人民生活水平日益提高,旅游经济蓬勃发展,这一切都带动了酒店行业的发展。再加上入境旅游的人也越来越多,入境从事商务活动的外宾也越来越多。传统的手工已不适应现代化酒店管理的需要。及时、准确、全方位的网络化信息管理成为必需。

酒店是一个服务至上的行业,从客人的预定开始,到入住登记直至最后退房结账,每一步骤都要保持一致性的服务水准,错失一步,会令其辛苦经营的形象功亏一篑。要成为一间成功的酒店,就必须作到宾至如归,面对酒店业内激烈的竞争形势,各酒店均在努力拓展其服务领域的广度和深度。虽然计算机并不是酒店走向成功的关键元素,但它可以帮助那些真正影响成败的要素发挥更大的效用。因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。

酒店,是为客人提供住宿、餐饮、娱乐和其它服务的综合性服务企业,它所接待的客来自世界各地,而且这些客人的生活习惯、消费水平、宗教信仰等各不相同。随着我国旅游业的飞速发展,以及社会生活水平的普遍提高,人们对于酒店消费不断地提出更高、更多样性的要求。如何以酒店企业所拥有的有限的人力、物力、财力和信息资源服务于住店客人,满足客人的各种消费需求,在当今竞争日趋激烈的酒店行业中,是经营好酒店企业的重要问题。

2.可行性分析 

2.1对现有系统的分析 

现有系统的状态是:宾馆房间管理系统管理系统是为了更简单安全的管理宾馆日常的活动而开发的管理系统。该系统的主要功能有:订房管理,入住管理,退房信息管理,查询管理等几个模块。其中查询管理还包括设置客房信息和设置客房标准等几个小的模块。

2.1.1市场调研  

在现有市场中调查各星级宾馆旳数目(二星级、三星级、四星级、五星级)、规模、大小(单间、双人间、总统套房等套房旳规模)、类型(经济型宾馆、记档规模宾馆、全套服务型宾馆)

2.1.2技术难度

技术上:数据库设计:宾客房间管理系统需要存储大量的数据,包括客户信息、房间信息、订单信息等。因此,需要设计一个高效、可靠、安全的数据库结构,能够满足系统的需求,并且能够处理数据的并发访问。网络安全:系统需要保护客户的个人信息和订单数据,因此需要使用加密技术和网络安全协议来保护数据传输和存储。

用户体验:为了提高用户体验,系统需要快速、可靠地响应用户的请求。这需要使用高效的算法和数据结构来提高系统的性能,并减少响应时间。

2.2技术可行性分析

本系统是酒店管理系统,随着人们消费水平的提高,人们对物质条件的追求越来越高。所以本小组所开发的系统很能符合当前需要。此项目能实现基本的功能,能让客户及管理人员很快就能解决住宿问题,本项目美中不足的是不能将该系统关闭,管理员应该保证该系统时刻开着,否则,顾客的信息将会丢失,引起不必要的麻烦。本项目采用最基本的C语言编写,在Devc++上允许就可以,对操作系统没有任何限制,用户可以很简单的实现。在给定的时间内能实现需求说明中的功能。只要用户输入数据系统会很快的出现结果,结果简单明了,顾客和管理员都会很快的将结果读出来。根据客户的要求、具体功能、性能衡量是否具有开发技术的保证,此系统是一个简单的管理系统,技术已完全达到要求,开发时间也很充裕,可完全在要求时间内完成本系统

2.3 经济可行性分析

    经济上主要考虑本系统带来的效益是否大于开发本系统的成本,采用自动化的信息管理减少了人员的使用,对信息进行充分统计,方便管理,为决策着进行更好决策做出依据,提高经济效益,由于本系统的开发以课程设计为依托,参与人员的目的以学习为主,投入成本比较小。另外,系统管理员和业务员都拥有计算机的专业知识,酒店前台工作人员和管理人员不需要经过培训即可操作本软件。这样可以为开发本系统节升资金。减少后期资源浪费。因此,开发本系统在经济是可行的。

2.4 社会因素可行性分析

    由于本系统完全采用图形界面,操作极其简单,只需对相关人员进行简单培训甚至可以不经过系统的培训即可使用。对于宾馆的工作人员是完全可以熟练使用它的,不会存在一点技术上的问题。

3.需求分析

软件需求分析阶段是软件生命周期中最关键的阶段.软件需求分析是进行软件设计、实现和质量多量的基础,需求分析是发现、逐步求精、建模、规格说明和复审的过程。发现:尽可能准确地了解用户当前的情况和需要解决的问题。逐步求精:对用户提出的要求反复多次地细化,得出对系统完整、准确、具体的要求。结构化分析实质上是一种创建模型的活动。建立模型是描述用户需求,定义需求,用以验收产品。可以建立数据模型、功能模型和行为模型。

订房功能:选择订房要输入顾客的姓名。身份证号、房间的类型、入住天数以及入住人数,根据选择房间类型和入住天数会输出预订费用。

入住登记功能:先判别该顾客是否预订了房间,如果预订了房间通过姓名··身份证号码的输入查询该顾客的房间号码和交纳费用。如果没有预定房间,则需要进行登记入住,要输入顾客的姓名。身份证号、入住人数、客房类型、预定天数,根据选择交纳费用。

退房结算功能:通过输入顾客的身份证号码和姓名··到该顾客的信息,通过输入实际的入住天数计算出实际的住房费用。

信息查询功能:分为房间信息查询和顾客信息查询,在房间信息中把全部房间都输出,并且已预订和己入住的房间也显示出来。在顾客信息中把顾客的房间号以及预付房费显示出来。

4.总体设计

系统总共分为五大模块,分别为用户预定模块、用户入住模块、用户退房模块、用户信息查询模块、用户退出模块。

用户预定模块:

   作为一个宾馆管理系统,顾客可以提前到宾馆进行房间的预定,操作员能根据用户的需求查询到适合顾客的房间。在这个系统中,这个功能是在Book_Room函数中实现的,其流程图如下图所示。首先,构造一个顾客对象,然后设置该顾客预定客房的天数,设置顾客预定客房标准,根据用户需要的客放标准到相应的标准客房去查找一个一个既没有被预定也没有入住的房间,然后把该住房对象结构体的状态修改为已预定状态,同时将顾客对象的预定房间号属性,也将住房费用计算出来并显示到界面上,最后将住房顾客数加1。

用户入住模块:

   这个功能是在函数Check_In中实现的,程序首先判断顾客是否订房了,如果预定了房间,则要求输入顾客姓名和身份证号码,然后在所有的顾客中去查找此姓名和身份证号码的顾客,如果匹配了就取得其住房编号,然后根据住房编号计算出该住房的标准,再根据该顾客要求预定住房的天数和该住房标准的价格计算出该顾客要缴纳的房费,同时显示到界面上,这时操作员对顾客进行收费,同时设置顾客的住房费用属性,将该住房的状态修改为以入住状态(State=2);如果顾客没有来得及先预定房间,在这里可以实现先查找空房再入住的功能,同预定房间功能一样,先建立一个顾客对象代表即将入住的顾客,然后设置入住天数,选择住房标准,根据住房标准查询到一个空房,然后设置顾客的住房房间属性,同时直接修改该房间的状态为已入住状态,计算好要收的房费直接执行收费,再将顾客数加1。

用户退房结算模块:

这个功能是在函数Check_Out中实现的,程序首先根据输入退房顾客的姓名和身份证号码,以及再输入顾客的实住天数,来计算顾客消费的费用。本程序利用Swithch (standard)函数,根据顾客的房间号以及该顾客预付了房费的多少,来判断是否给该顾客退费,还是请补收该顾客住房费用。

   用户信息查询模块:

       这个功能是在函数Void inquire()函数实现的,信息查询分为房间信息查询1和顾客信息查询2,对于房间信息查询会列出:那些房间还没人预定,也没人入住;那些房间已预定,那些房间有人入住;对于顾客信息查询:分为按姓名查询按1和按身份证查询按2,分别输入顾客的姓名和身份证号码,查询顾客住房信息:房间号和预付房费。

5.数据库设计

没有用到数据库。如果需要用到数据库进行增删改查的可以自行添加。

6.详细设计

     软件设计的主要任务是确定每个模块具体的执行过程,因而也称为过程设计,该阶段还要进行系统的界面设计、数据代码设计、数据的输入输出设计和数据安全设计。详细设计不是具体地编写程序,而是逻辑上设计正确实现每个模块功能的处理过程。详细设计应当尽可能简明易懂。

6.1数据类型定义:

系统分别对顾客的姓名、身份证号、房间号、房间等级、房间状态、预付房款及是否预定及入住等均进行了定义,定义了顾客类及虚类。源代码见附录1:

6.2预定功能模块:

6.21模块算法:

顾客输入其信息并选择了房间类型时,系统对顾客所选的房间类型逐一检查其房间状态,寻找到第一个房间状态为空(即0)的房间,则取出房间号码告知顾客预定成功并对其进行消费金额计算。最后将取出的房间的状态改为1(即已订),并将该顾客的个人信息存入系统中。

6.22流程图:

房间的价格: 1.单人间/天150元

2.双人间/天200元

3.标准间/天300元

4.总统套房/天600元

在我们选择了住房标准后,系统会让你输入预定的天数,然后系统会根据你选择的放假类型和预定的天数来计算客户应该交的费用,并告知用户的房间号。当然如果您选择的房间类型已满的话您是不能完成房间预定的,您此时可以尝试选择其他类型的房间类型了。如果都不行的话,只能欢迎您下次再来了。

6.3入住功能模块:

6.31模块算法:

首先判断顾客是预订转入住还是直接订房入住。若该顾客是预订转入住则提示顾客输入相关信息,并判断是否存在该顾客的预订信息。若存在则计算其欲消费总额收取定金并将房间卡交给顾客,最后将该房间的状态由已订改为已入住,并将入住的信息存入系统中。若不存在则入住失败。顾客可以转成预定功能然后再住,当然如果当前已经住满的话是没办法完成入住功能的。

6.32流程图:

6.4退房功能模块:

6.41模块算法:

   顾客提出结账要求时输入其姓名·身份证号,此时系统内部自动查询该顾客所住的房间号码和该房间的类型,输入其实际住房时间,系统自动结算其消费总额输出其房号和房间类型和计算后实际应收的费用,自动和顾客的预交金额做比较,若实际消费低于预收金额则退还顾客多收的费用,若少于则输出顾客应补交的费用,最后确认核算清楚,退出该功能。如果退房时输入的信息不正确的话,系统找不到此人的数据就不会给予处理。系统会提示:继续使用本系统请按"1",退出请按"2"!

6.42流程图:

6.5信息查询功能模块

6.51算法模块:

顾客查询:

当选择了顾客查询时会出现按照姓名··和按照身份证号查询两项。无论选择哪种查询方式均要输入系统所提示的输入信息,输入后系统内部对顾客姓名··身份证号进行匹配,匹配成功时将输出所匹配结果,其中包括该顾客的姓名,身份证号和所住房间号码。

客房查询:

   当选择了客房查询时系统内部自动从第一个客房开始搜索,搜索每个客房的状态,最后根据客房的三个不同状态将客房分类输出。

6.52流程图:

7.系统调试

 测试内容:

   测试的内容主要包括两个,分别为功能测试和界面测试。功能测试主要包括了对系统各个功能模块的实现和响应上是否达到需求,界面测试则是查看实现界面上的显示数据是否有错误;页面布局上是否合适;界面之间相互跳转是否合理。

测试用例:

   预定功能模块:

入住功能模块:

退房功能模块:

信息查询模块:


参考文献

[1]钱能.C++程序设计教程[M].北京:清华大学出版社,1999.

[2] Stanley B.Lippman,Josee Lajoie.C++ Primer [M].潘爱民,张丽,译.3版.北京:中国电力出版社,2002..

[3]耿祥义.实用教程[M].北京:清华大学出版社,2017年.

[4]史胜辉,王春明,沈学华.PHPEE基础教程[M].北京:清华大学出版社,2015年.

[5]缪淮扣,顾训穰,沈俊.数据结构Q——C++实现[M].北京:科学出版社,2002.

[6] Peter van der Linden. Java 2教程[M].刑国庆,译. 6版.北京:电子工业出版社,2005.

[7]汪燮华,吕传兴,王心园,等.小学电子计算机[M].长春:北方妇女儿童出版社,1986.

[8]]张海藩.软件工程导论[M].4版.北京:清华大学出版社,2003.

[9]张宇。 基于C++的数控加工通用后处理程序的开发应用研究[J]. 制造业自动化,2017,39(02):44-47+64. [2017-10-10].
[10]魏振华,刘志锋,刘仕威。 C/C++“闯关式”自主学习与考试平台研究与应用[J]. 计算机教育,2017,(02):130-135. [2017-10-10]. DOI:10.16512/j.cnki.jsjjy.2017.02.031
[11]李素若。 基于慕课的编程类课程混合式教学模式研究与实践--以《C++程序设计》为例[J]. 软件导刊,2017,16(01):189-191. (2017-03-01)[2017-10-10]. 基于慕课的编程类课程混合式教学模式研究与实践——以《C++程序设计》为例 - 中国知网
[12]李欣然,赵山林。 C++语言程序设计中多态问题分析[J]. 计算机时代,2017,(02):57-59. [2017-10-10]. DOI:10.16644/j.cnki.cn33-1094/tp.2017.02.017
[13]陈贝,许庆国。 基于静态检测的C++内存泄漏分析[J]. 计算机工程与科学,2017,39(01):118-124. [2017-10-10].
[14]李明阳。 基于汇编语言与C/C++语言混合编程的设计研究[J]. 电子世界,2017,(03):188-189. [2017-10-10]. DOI:10.19353/j.cnki.dzsj.2017.03.089
[15]欧振国。 基于C++ Builder环境下电力仓库管理系统的指纹识别与条形码技术[J]. 农村电气化,2017,(02):32-34. (2017-03-28)[2017-10-10]. http://kns.cnki.net/kcms/detail/11.2181.TM.20170328.1641.015.htmlDOI:10.13882/j.cnki.ncdqh.2017.02.013
[16]何海棠,文万志,丁浩,陈森博。 C++课程中思维导图的应用探索[J]. 无线互联科技,2016,(22):104-105+108. [2017-10-10].
[17]张银霞,耿蕊,李敬有。 融合计算思维的“C++程序设计”案例教学实践[J]. 工业和信息化教育,2016,(11):42-46. [2017-10-10].
[18]徐萍。 C++语言中悬挂指针的研究与应用[J]. 电脑知识与技术,2016,12(23):65-66. (2016-09-20)[2017-10-10].


总  结

      这次实课程设计培训是对我进行一次全面的综合训练,这次实验不仅仅是把这个学期学的C++语言根底教程的知识总结,也是对以前计算机知识的检验。自己学了什么,都会心里有底。这个不单要掌握课本,还要熟练掌握一门编程语言。在这次实验中,依据c++语言进行编写。这样不仅可以学习本学期内容,而且还可以对C语言的知识进行稳固。知识是相互联系的,没有哪一门是单独而存在的。所以,要学好一门课,就是应该横向思考,多联系,这样会学得更深刻。这次实验,首先是要纵观全局,从大处着眼,先是需求分析,这是设计过程的根底,是最困难,最耗时的一步。作为“地基"

对于本次设计的命题,我的设计还很不完善,还有许多功能因为时间和本人的知识水平有限,参考了他人的作品,但是,我通过这次编程,思维和动手能力都相应的得到了提高。我学到了许多C语言的相关知识,懂得并掌握了如何去设计一个程序、调试程序,也懂得了如何运用我们自己的创新能力去实现我们想要的功能。在学校过程中,我也察觉到了自己对知识掌握的不足之处、知识的缺乏,但是,在同学和老师的帮助和指导下,我克服困难,突破难关,认真总结,最终我们顺利的完成了本次程序的设计,并且认真的完成了实验报告的书写。在本次课程设计中,我们不仅完成了老师交给的任务,还增加了许多课外的有关C语言的编程知识。对C语言的程序设计有了更深刻的了解,使我们的知识更加完善,视野更加的广阔。 

都看到这里了,请给俺一个免费的点赞和关注!!!!!!!谢谢你的点赞和关注,需要的请自行收藏保存好!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值