1、系统使用对象设定为百康宾馆。百康酒店是一家乡镇中小型宾馆,三层建筑,拥有各类房间共20间。其中一层均为单人间,共9间,房号101-109;二层为均双人间,共6间,房号201-206;三层均为豪华套房,共5间,房号301-305。各类房间均设有电视、橱柜、内网电话、风扇、暖气等基础设施,24小时热水供应,可淋浴。一层前台处设有便捷商店,当时结算,不计入住宿账单。可通过内网电话购买,免费送至房间。A、收费标准:有按天计费和按小时计费两种收费标准。按天计费,标准为单人间 170元/天,双人间280元/天,豪华套房500元/天。按小时计费,标准为单人间20元/小时,双人间30元/小时,豪华套房50元/
2、小时。B、计时标准:按天计费时,从0时至次日0时计一天,不满一天按一天计算;按小时计费时,不满一小时按一小时计费。(特殊情形的优惠政策不在本设计考虑范围之内)C、定金标准:入住定金按(预计入住时间*其单日房费+500元)收取,退房时充作房费和房屋设施折损费(抵偿损坏的房内设施),多退少补。预定定金(按预计订房时间*对应房间按天计算住宿价格*40%)收取,若到时不入住且不续订,则不再退还;若到时入住,充作入住定金,多退少补。电话预定无需缴纳定金,但不确保届时有空房间。注:定金数额可在以上标准数额之上,退房结算时多退少补。 退房时,室内设施经确认无损坏情况,则不收取房屋设施折损费。功能模块划分根据
3、任务内容要求及宾馆相关情况等信息,百康宾馆住宿管理系统需要实现查询功能(包括客房总体使用情况查询、已入住客房查询、已预订客房查询、闲置房间信息查询等查询方式),订房登记,入住登记,退房结算等四大基本功能。系统应实现对各类信息的灵活查找,客户信息的录入、保存与调用,自动结算并生成账单等操作。为了简化前台人员操作并提高其工作效率,还应实现开始前初始化询问,订房或入住登记时自动显示当前闲置房间,入住前询问是否已预订,输入错误信息时进行提醒等人性化功能。由以上分析,将系统主要分为以下四大功能模块,如图所示:1) 客房查询:包括查询客房总体使用情况、查询当前闲置房间信息、查询已入住房间信息、查询已预定房
4、间信息等查询功能;2) 订房登记:包括显示当前闲置房间信息、登记预定信息等功能;3) 入住登记:包括显示当前房间总体使用情况、询问是否预定过房间、登记入住人信息等功能;4) 退房结算:包括选择结算方式、输入结算时间、计算住宿费用等功能。图功能模块结构图以下输入项均为键盘输入:num房间号 ,intkongxian房间是否空闲 ,int name20名字定义, char name20 ID20身份证号(18位阿拉伯数字),char ID20lianxifangshi15联系方式(11位阿拉伯数字), char lianxifangshi15yajin押金, int yudingriqi预定日期(
5、日期均为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)(不同模块可能定义不同), inta是否预定过房间(在ruzhudengji()定义的),int房间号, int房间类型 , char leixing10价格(元/天), int价格(元/小时) ,int是否空闲 ,int客人姓名,char name20身份证,char ID2
6、0联系方式 ,charlianxifangshi15押金(元), int预定日期 ,long入住时间 ,long预计天数, int截止日期, long四、系统实现与测试主菜单模块实现图主菜单流程图void Menu_Display() system(cls); couttt#endl;tt# 欢迎使用百康宾馆管理系统 #tt# 请输入您所需要的功能: #tt# 1.客房查询 2.订房登记 #tt# 3.入住登记 4.退 房 #tt# 5. 退 出 #tt# 感 * 谢 * 您 * 的 * 使 * 用 #void chushihua() int i3=1,0,1,k=0; for(;k20;k+
7、) hotelk.num=i0*100+i1*10+i2; strcpy(hotelk.ID,0 hotelk.jiezhiriqi=0; hotelk.kongxian=0; strcpy(hotelk.lianxifangshi, strcpy(hotelk.name, 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;双人间 c
8、ase 3:hotelk.jiage=50050;套房 if(k=8) i0+,i2=0; if(k=14) i2+; fstream xieru(宾馆房间信息.txt,ios:out); xieru房间号 类型 价格 是否空闲 姓名 身份证号 联系方式 押金 预定日期 入住时间 天数 截止日期 for(int x=0;xx+)hotelx.num hotelx.leixinghotelx.jiagehotelx.kongxianhotelx.name hotelx.IDhotelx.lianxifangshihotelx.yajinhotelx.yudingriqihotelx.ruzhus
9、hijianhotelx.tianshuhotelx.jiezhiriqip; if(p=1) chushihua(); int chose; Menu_Display();请输入选项:chose; while(chose!=0) switch(chose)房查询 2.订房登记 # cout while(chose=0)输入错误,按任意键退出程序: exit(0);主菜单界面中显示客房管理系统的功能选项模块如图所示:图主菜单入住登记模块实现图入住登记流程图void ruzhudengji() int a,b=0; string name; ifstream liulan(in); hoteli
10、.leixinghoteli.jiagehoteli.kongxianhoteli.name hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.ruzhushijianhoteli.tianshuhoteli.jiezhiriqi;setw(4)hoteli.numsetw(8)hoteli.leixingsetw(9)hoteli.jiage/100setw(14)hoteli.jiage%100setw(13)hoteli.kongxian; um=b) if(hoteli.yudingriqi! coutho
11、teli.ruzhushijian;请输入截止日期: hoteli.yudingriqi=0; else该房没有被预订过 system(pause 空房间有: for(int k=0; if(hotelk.kongxian=0) couthotelk.num 请输入房间号:b; for(i=0;ii+) if(hoteli.num=b)请依次输入以下信息并加以核对 (日期格式:年月日 例如 ) couthoteli.name;身份证号:hoteli.ID;联系方式:hoteli.lianxifangshi;押金:hoteli.yajin;天 数:hoteli.tianshu;入住日期: hot
12、eli.kongxian=2; ofstream xieru( umhoteli.jiagehoteli.kongxian hoteli.IDhoteli.lianxifangshihoteli.yajinhoteli.yudingriqihoteli.tianshuhoteli.jiezhiriqi登记成功入住登记界面显示了房间使用情况以及提示以前是否预订过房间如图所示:图入住登记界面如果客人预定过房间,则选择“1”,然后输入预订房间号如图所示。输入入住日期和截止日期则“登记成功”如图所示。图选择订过房间入住登记界面图订过房间入住登记界面未预订过房间则选择“2” 则会显示出目前的空房间信息如
13、图所示,根据系统提示输入客人的信息则“登记成功”如图所示。图选择未订过房间入住登记界面图选择未订过房间入住登记输入信息界面退房结算模块实现图 退房结算流程图void tuifang() int a,b; ifstream fin(请输入房号:a; int c=0,i=0; (117,ios: if(hoteli.num=a) amehotelb.yajinsetw(20)hotelb.ruzhushijian(注:日期输入格式 年月日 例如 )请输结算入日期: int d;d; hotelb.jiezhiriqi=d; int fei;按小时/天数计费(小时输入1,天数输入2): int t;
14、t; if(t=2) fei=hotelb.yajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage/100); ajin-(hotelb.jiezhiriqi-hotelb.ruzhushijian)*(hotelb.jiage%100); ajin-fei元押金足够 应返还给您:fei fstream jsxx(结算信息.txt jsxx消费信息为:hotelb.nameendl押金(元):入住时间:结算时间:d jsxx计费方式:按天数计费按小时计费总消费金额为:hotelb.yajin-fei hotelb.kongxian
15、=0; ame, strcpy(hotelb.ID, strcpy(hotelb.lianxifangshi, hotelb.yudingriqi=0; hotelb.ruzhushijian=0; hotelb.jiezhiriqi=0; hotelb.yajin=0; hotelb.tianshu=0;um选择退房功能输入房间号则会显示出客人的基本信息如图所示;根据系统提示输入结算日期并选择结算方式则“结算结束”如图和图所示。账单信息存入到磁盘文件当中去,如图所示。图退房结算输入结算房间号后界面图图退房结算输入日期界面图退房结算完成界面图退房结算信息文件五、附录:程序代码#includeiomanip 房查询 2.订房登记 #hotelx.jiez
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1