ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:403.48KB ,
资源ID:11726113      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11726113.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++酒店管理系统课程设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++酒店管理系统课程设计.docx

1、c+酒店管理系统课程设计 面向对象程序设计II 课程设计指导书 题目: 宾馆管理系统学院: 计算机科学与工程学院专业: 软件工程 班级: 133301学号: 20133503 20133490 20133482姓名:王帅 刘俊 甘雨指导老师: 韩旭明设计日期:2015.6.24-2015.6.30 一、课程设计的目的1) 学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。2) 全面系统的学习面向对象程序设计的基本概念、基本语法和编程方法;独立完成有一定工作

2、量的程序设计任务,同时强调好的程序设计风格。3) 掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。4) 在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。2、课程设计的任务按照如下要求,运用C+语言,编写一套可用的较为完善的宾馆住宿管理系统软件(两人分模块合作)1) 对宾馆基本信息【房间数量、房间类别(标间、单间、套房)、收费标准等】在适当范围内自行规定。2) 能够实现预定登记、入住登记、退房结算等功能;房间状态(空房、入住、预定)能够以一定方式直观地表现。3) 能够录入住宿人员信息、计算客户消费总额

3、并生成账单,账单信息存入到磁盘文件当中去。4) 能够相对灵活地查询房间状态、入住情况、空房情况、预订情况等内容。5) 能够产生各类报表,如房间信息、入住信息、消费表单等在磁盘文件当中可以查看它们的信息。三、系统设计方案3.1系统详细描述3.1.1系统设计背景随着人民生活水平的提高,旅游出行的人越来越多,宾馆的客流量不断增加,普通的手写登记太过复杂经常出现信息丢失,也不适合现在的节约型社会的发展,宾馆在正常运营中需要对客房资源、顾客信息、退房信息等进行管理,利用客房管理系统及时了解各个环节中信息的变更,有利于提高管理的效率。 本项目作为c+课程设计的训练项目提出,目的是为了提高同学们系统的开发,

4、则提高大家的实践能力。所以开发一个符合自身宾馆实际情况的工作平台是十分必要的。3.1.2系统设计详细信息系统使用对象设定为百康宾馆。百康酒店是一家乡镇中小型宾馆,三层建筑,拥有各类房间共20间。其中一层均为单人间,共9间,房号101-109;二层为均双人间,共6间,房号201-206;三层均为豪华套房,共5间,房号301-305。各类房间均设有电视、橱柜、内网电话、风扇、暖气等基础设施,24小时热水供应,可淋浴。一层前台处设有便捷商店,当时结算,不计入住宿账单。可通过内网电话购买,免费送至房间。A、收费标准:有按天计费和按小时计费两种收费标准。按天计费,标准为单人间 170元/天,双人间280

5、元/天,豪华套房500元/天。按小时计费,标准为单人间20元/小时,双人间30元/小时,豪华套房50元/小时。B、计时标准:按天计费时,从0时至次日0时计一天,不满一天按一天计算;按小时计费时,不满一小时按一小时计费。(特殊情形的优惠政策不在本设计考虑范围之内)C、定金标准:入住定金按(预计入住时间*其单日房费+500元)收取,退房时充作房费和房屋设施折损费(抵偿损坏的房内设施),多退少补。预定定金(按预计订房时间*对应房间按天计算住宿价格*40%)收取,若到时不入住且不续订,则不再退还;若到时入住,充作入住定金,多退少补。电话预定无需缴纳定金,但不确保届时有空房间。注:定金数额可在以上标准数

6、额之上,退房结算时多退少补。 退房时,室内设施经确认无损坏情况,则不收取房屋设施折损费。3.2功能模块划分3.2.1功能模块描述根据任务内容要求及宾馆相关情况等信息,百康宾馆住宿管理系统需要实现查询功能(包括客房总体使用情况查询、已入住客房查询、已预订客房查询、闲置房间信息查询等查询方式),订房登记,入住登记,退房结算等四大基本功能。系统应实现对各类信息的灵活查找,客户信息的录入、保存与调用,自动结算并生成账单等操作。为了简化前台人员操作并提高其工作效率,还应实现开始前初始化询问,订房或入住登记时自动显示当前闲置房间,入住前询问是否已预订,输入错误信息时进行提醒等人性化功能。由以上分析,将系统

7、主要分为以下四大功能模块,如图3.1所示:1) 客房查询:包括查询客房总体使用情况、查询当前闲置房间信息、查询已入住房间信息、查询已预定房间信息等查询功能;2) 订房登记:包括显示当前闲置房间信息、登记预定信息等功能;3) 入住登记:包括显示当前房间总体使用情况、询问是否预定过房间、登记入住人信息等功能;4) 退房结算:包括选择结算方式、输入结算时间、计算住宿费用等功能。百康宾馆住宿管理系订房登记入住登记客房查询退房结算客房总体信息查询已预订房间信息查询已入住房间信息查询闲置房间信息查询图3.1功能模块结构图3.2.2输入项以下输入项均为键盘输入:num房间号 ,intkongxian房间是否

8、空闲 ,int name20名字定义, char name20 ID20身份证号(18位阿拉伯数字),char ID20lianxifangshi15联系方式(11位阿拉伯数字), char lianxifangshi15yajin押金, int yudingriqi预定日期(日期均为8位阿拉伯数字,格式为年月日), long ruzhushijian入住日期 ,long tianshu预计天数, int jiezhiriqi截止日期 ,long p是否初始化(0或1), intchose选择主菜单(1,2,3,4或5), intt计费方式(1或2), inti子菜单选择(1,2,3,4或5)

9、(不同模块可能定义不同), inta是否预定过房间(在ruzhudengji()定义的),int3.2.3输出项房间号, int房间类型 , char leixing10价格(元/天), int价格(元/小时) ,int是否空闲 ,int客人姓名,char name20身份证,char ID20联系方式 ,charlianxifangshi15押金(元), int预定日期 ,long入住时间 ,long预计天数, int截止日期, long四、系统实现与测试4.1主菜单模块实现4.1.1主菜单流程图图4.1主菜单流程图4.1.2主菜单代码void Menu_Display() system(c

10、ls); couttt#endl; couttt# 欢迎使用百康宾馆管理系统 #endl; couttt# 请输入您所需要的功能: #endl; couttt# 1.客房查询 2.订房登记 #endl; couttt# 3.入住登记 4.退 房 #endl; couttt# 5. 退 出 #endl; couttt# 感 * 谢 * 您 * 的 * 使 * 用 #endl; couttt#endl;void chushihua() int i3=1,0,1,k=0; for(;k20;k+) hotelk.num=i0*100+i1*10+i2; strcpy(hotelk.ID,0); ho

11、telk.jiezhiriqi=0; hotelk.kongxian=0; strcpy(hotelk.lianxifangshi,0); strcpy(hotelk.name,0); hotelk.ruzhushijian=0; hotelk.tianshu=0; hotelk.yudingriqi=0; switch(i0) case 1:hotelk.jiage=17020;strcpy(hotelk.leixing,单人间);break; case 2:hotelk.jiage=28030;strcpy(hotelk.leixing,双人间);break; case 3:hotelk.

12、jiage=50050;strcpy(hotelk.leixing,套房);break; if(k=8) i0+,i2=0; if(k=14) i0+,i2=0; i2+; fstream xieru(宾馆房间信息.txt,ios:out); xieru房间号 类型 价格 是否空闲 姓名 身份证号 联系方式 押金 预定日期 入住时间 天数 截止日期 endl; for(int x=0;x20;x+) xieruhotelx.num hotelx.leixing hotelx.jiage hotelx.kongxian hotelx.name hotelx.ID hotelx.lianxifan

13、gshi hotelx.yajin hotelx.yudingriqi hotelx.ruzhushijian hotelx.tianshu hotelx.jiezhiriqiendl; xieru.close();void main() int p=0; cout是否要初始化房间信息?; cout(是请输入1,否请输入0)p; if(p=1) chushihua(); int chose; Menu_Display(); coutchose; while(chose!=0) switch(chose)/用switch语句判断选择菜单的功能 case 1:search_message();br

14、eak; /客房查询 case 2:dingfangdengji();break;/订房间 case 3:ruzhudengji();break;/入住房间 case 4:tuifang();break;/退房 case 5:exit(0); default:cout输入错误,请重新输入endl; /提示错误命令 couttt#endl; couttt# 欢迎使用百康宾馆管理系统 #endl; couttt# 请输入您所需要的功能: #endl; couttt# 1.客房查询 2.订房登记 #endl; couttt# 3.入住登记 4.退 房 #endl; couttt# 5. 退 出 #e

15、ndl; couttt# 感 * 谢 * 您 * 的 * 使 * 用 #endl; couttt#endl; coutchose; while(chose=0) cout输入错误,按任意键退出程序:endl; exit(0); 4.1.3主菜单模块测试主菜单界面中显示客房管理系统的功能选项模块如图4.2所示:图4.2主菜单4.2入住登记模块实现4.2.1入住登记流程图图4.3入住登记流程图4.2.2入住登记代码void ruzhudengji() int a,b=0; string name; ifstream liulan(宾馆房间信息.txt,ios:in); /定义输入文件流对象,以输入

16、方式打开磁盘文件旅信 if(!liulan) /判断文件是否打开成功 cerr文件不能读.endl;return; else liulan.seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begin) int i=0; /存放空闲房间的号码 cout房间号 类型 价格(元/天) 价格(元/小时) 空闲 endl; while (ihoteli.numhoteli.leixinghoteli.jiagehoteli.kongxianhoteli.name hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.y

17、udingriqihoteli.ruzhushijian hoteli.tianshuhoteli.jiezhiriqi; coutsetw(4)hoteli.numsetw(8)hoteli.leixingsetw(9)hoteli.jiage/100setw(14)hoteli.jiage%100setw(13) hoteli.kongxian; /输出所有房间信息 i+,coutendl; liulan.close(); /关闭文件 cout(注:0表示空房间、1表示房间已入住、2表示房间已预订)endl; cout是否预订过房间?endl; cout是,请输入1,否,请输入2a; if

18、(a=1) cout请输入房间号:b; for(i=0;i20;i+) if(hoteli.num=b) if(hoteli.yudingriqi!=0) couthoteli.ruzhushijian; couthoteli.jiezhiriqi; hoteli.yudingriqi=0; else cout该房没有被预订过endl; system(pause); else cout空房间有:endl; for(int k=0;k20;k+) if(hotelk.kongxian=0) couthotelk.num ; coutendl; coutb; for(i=0;i20;i+) if(

19、hoteli.num=b) cout请依次输入以下信息并加以核对 (日期格式:年月日 例如 19920503 )endl; couthoteli.name; couthoteli.ID; couthoteli.lianxifangshi; couthoteli.yajin; couthoteli.tianshu; couthoteli.ruzhushijian; hoteli.kongxian=2; ofstream xieru(宾馆房间信息.txt,ios:out); /写回文件 xieru房间号 类型 价格 是否空闲 姓名 身份证号 联系方式 押金 预定日期 入住时间 天数 截止日期 en

20、dl; for(i=0;i20;i+) xieruhoteli.num hoteli.leixing hoteli.jiage hoteli.kongxian hoteli.name hoteli.ID hoteli.lianxifangshi hoteli.yajin hoteli.yudingriqi hoteli.ruzhushijian hoteli.tianshu hoteli.jiezhiriqiendl; xieru.close(); cout登记成功endl;4.2.3入住登记模块测入住登记界面显示了房间使用情况以及提示以前是否预订过房间如图4.4所示:图4.4入住登记界面如果

21、客人预定过房间,则选择“1”,然后输入预订房间号如图4.5所示。输入入住日期和截止日期则“登记成功”如图4.6所示。图4.5选择订过房间入住登记界面图4.6订过房间入住登记界面未预订过房间则选择“2” 则会显示出目前的空房间信息如图4.7所示,根据系统提示输入客人的信息则“登记成功”如图4.8所示。图4.7选择未订过房间入住登记界面图4.8选择未订过房间入住登记输入信息界面4.3退房结算模块实现4.3.1退房结算流程图 图4.9 退房结算流程图4.3.2退房结算代码void tuifang() int a,b; ifstream fin(宾馆房间信息.txt,ios:in); couta; i

22、nt c=0,i=0; fin.seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begin) while(ihoteli.numhoteli.leixinghoteli.jiagehoteli.kongxianhoteli.name hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijian hoteli.tianshuhoteli.jiezhiriqi; if(hoteli.num=a) /查询客人房间 b=i; i+; fin.close(); cou

23、t房间信息为:endl; cout 姓名: 押金(元): 入住时间: endl; coutsetw(6)hotelb.namesetw(8)hotelb.yajinsetw(20)hotelb.ruzhushijianendl; cout(注:日期输入格式 年月日 例如 20120101 )endl; coutd; hotelb.jiezhiriqi=d; int fei; coutt; if(t=2) fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100); /结算函数,押金(结算时间-入住时间)

24、*价格 else fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100); /按小时计算 if(fei0) fei=-fei; cout应付费用为:fei元endl; else cout总消费金额为:hotelb.yajin-fei元endl; cout押金足够 应返还给您:fei元endl; fstream jsxx(结算信息.txt,ios:out); jsxx消费信息为:endl; jsxx姓名:hotelb.nameendl押金(元):hotelb.yajinendl入住时间:hotelb.

25、ruzhushijianendl结算时间:dendl; if(t=2) jsxx计费方式:按天数计费endl; else jsxx计费方式:按小时计费endl; jsxx总消费金额为:hotelb.yajin-fei元endl; jsxx押金足够 应返还给您:fei元endl; jsxx.close(); hotelb.kongxian=0; /房间结算后初始化房间信息 strcpy(hotelb.name,0); strcpy(hotelb.ID,0); strcpy(hotelb.lianxifangshi,0); hotelb.yudingriqi=0; hotelb.ruzhushijian=0; hotelb.jiezhiriqi=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1