




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1课程设计指导西向对象程序设计I II I题目宾馆管理系统学院:计算机科学与工程学院专业:软件工程班级:1333012学号:20133503 20133490 2013348231)2)3)4)刘俊指导老师:设计日期:韩旭明2015624-2015630、课程设计的目的学习综合运用C高级语言课程和其他先修课程的知识,提高分析和解决实际问题的的能力,进一步巩固、加深和拓宽所学的知识; 进一步加强结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。全面系统的学习面向对象程序设计的基本概念、 基本语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。掌握程序设计
2、中的常用算法和 C语言的编程技巧和上机调试程序的方法。在参与一系列子项目的实践过程中,提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。按照如下要求,运用C+语言,编写一套可用的较为完善的宾馆住宿管理系统软件 (两人分模块合作)1)对宾馆基本信息【房间数量、房间类别(标间、单间、套房)、收费标准等】在适当范围内自行规定。2)能够实现预定登记、入住登记、退房结算等功能;房间状态(空房、入住、预定)能够以一定方式直观地表现。453)能够录入住宿人员信息、计算客户消费总额并生成账单,账单信息存入到磁盘文件当中去。4)能够相对灵活地查询房间状态、入住情况、
3、空房情况、预订情况等内容。5)能够产生各类报表,如房间信息、入住信息、消费表单等在磁盘文件当中可以查看它们的信息。、系统设计方案3.1系统详细描述3.1.1系统设计背景随着人民生活水平的提高,旅游出行的人越来越多,宾馆的客流量不断增加,普通的手写登记太过复杂经常出现信息丢失,也不适合现在的节约型社会的发展,宾馆在正常运营中需要对客房资源、顾客信息、退房信息等进行管理,利用客房管理系统及时了解各个环节中信息的变更,有利于提高管理的效率。本项目作为C+课程设计的训练项目提出,目的是为了提高同学们系统的开发,则提高大家的实践能力。所以开发一个符合自身宾馆实际情况的工作平台是十分必要的。3.1.2系统
4、设计详细信息系统使用对象设定为百康宾馆。百康酒店是一家乡镇中小型宾馆,三层建筑,拥有各类房间共20间。其中一层均为单人间,共 9间,房号101-109 ;二层为均双人间,共6间,房号201-206 ;三层均为豪华套房,共5间,房号301-305。各类房间均设有电视、橱柜、内网电话、风扇、暖气等基础设施,24小时热水供应,可淋浴。67一层前台处设有便捷商店,当时结算,不计入住宿账单。可通过内网电话购买, 免费送至房间。A收费标准:有按天计费和按小时计费两种收费标准。按天计费,标准为单人间170元/天,双人间280元/天,豪华套房500元/天。按小时计费,标准为单人间20元/小时,双人间30元/小
5、时,豪华套房50元/小 时。B计时标准:按天计费时,从0时至次日0时计一天,不满一天按一天计算;按小时计费时,不满一小时按一小时计费。(特殊情形的优惠政策不在本设计考虑范围之 内)C定金标准:入住定金按(预计入住时间*其单日房费+500元)收取,退房时充作房费和房屋设施折损费(抵偿损坏的房内设施),多退少补。预定定金(按预计订房 时间*对应房间按天计算住宿价格*40%收取,若到时不入住且不续订,则不再退还;若到时入住,充作入住定金,多退少补。电话预定无需缴纳定金,但不确保届时有 空房间。注:定金数额可在以上标准数额之上,退房结算时多退少补。退房时,室内设施经确认无损坏情况,则不收取房屋设施折损
6、费。3.2功能模块划分3.2.1功能模块描述根据任务内容要求及宾馆相关情况等信息,百康宾馆住宿管理系统需要实现查询 功能(包括客房总体使用情况查询、已入住客房查询、已预订客房查询、闲置房间 信息查询等查询方式),订房登记,入住登记,退房结算等四大基本功能。系统应实 现对各类信息的灵活查找,客户信息的录入、保存与调用,自动结算并生成账单等 操作。为了简化前台人员操作并提高其工作效率, 还应实现开始前初始化询问,订房或8入住登记时自动显示当前闲置房间,入住前询问是否已预订,输入错误信息时进行提醒等人性化功能。由以上分析,将系统主要分为以下四大功能模块,如图3.1所示:1)客房查询:包括查询客房总体
7、使用情况、查询当前闲置房间信息、查询已入住房间信息、查询已预定房间信息等查询功能;2)订房登记:包括显示当前闲置房间信息、登记预定信息等功能;3)入住登记:包括显示当前房间总体使用情况、 询问是否预定过房间、登记入住人信息等功能;4)退房结算:包括选择结算方式、输入结算时间、计算住宿费用等功能。910lia nxifa ngshi15yudi ngriqi3.2.2输入项以下输入项均为键盘输入:nu -房间号 ,intkongxian -房间是否空闲,intname20 -名字定义,char n ame20ID20身份证号(18位阿拉伯数字),char ID20联系方式(11位阿拉伯数字),c
8、har lianxifangshi15yajin -押金,int预定日期(日期均为8位阿拉伯数字,格式为年月日),10ng图3.1功能模块结构图ruzhushijia n入住日期,Io ng11截止日期,Io ng房间类型,char leixi ng1O价格(元/天),int价格(元/小时),int联系方式,charlia nxifa ngshi15押金(元),int预定日期,long入住时间,long预计天数,int截止日期,longtia nshu-预计天数, int323输出项房间号,int是否空闲,int 客人姓名,char name20身份证,char ID20四、系统实现与测试4.
9、1主菜单模块实现P是否初始化(0或1),intchose选择主菜单(1,2,3,4或5),intt 计费方式(1或2),inti子采单选择(1,2,3,4或5)(不同模块可能疋义不同)a是否预疋过房间(在ruzhude ngji()定义的),intjiezhiriqi,int124.1.1主菜单流程图13单人间 ”);break; 双人间 ”);break; 套房 ”);break;图4.1主菜单流程图4.1.2主菜单代码void Men u_Dis play()system(cls);couttt#e ndl;couttt#欢迎使用百康宾馆管理系统#e ndl;couttt#请输入您所需要的
10、功能:#e ndl;couttt#1.客房查询2.订房登记#e ndl;couttt#3.入住登记4.退房#e ndl;couttt#5.退出#endl;couttt#感 *谢 *您* 的*使*用#e ndl;couttt#e ndl; void chushihua()int i3=1,0,1,k=0;for(;k20;k+)hotelk. nu m=i0*100+i1*10+i2;strc py(hotelk D,0);hotelk.jiezhiriqi=0;hotelk.k on gxia n=0;strc py(hotelk.lia nxifa ngshi,0);strc py(hote
11、lk. name,0);hotelk.ruzhushijia n=0;hotelk.tia nshu=0;hotelk.yud in griqi=0;switch(i0)case 1:hotelk.jiage=17020;strcpy(hotelk.leixi ng,case 2:hotelk.jiage=28030;strcpy(hotelk.leixi ng,case 3:hotelk.jiage=50050;strcpy(hotelk.leixi ng,if(k=8)i0+,i2=0;14if(k=14)i0+,i2=0;i2+;fstream xieru(宾馆房间信息.txt,ios:
12、out);xieru房间号 类型价格是否空闲姓名身份证号押金预定日期入住时间天数截止日期e ndl;联系方式for(int x=0;x20;x+)xieruhotelx. num hotelx.leix in ghotelx.jiage hotelx.k on gxia nhotelx. namehotelx.IDhotelx.lia nxifa ngshihotelx.yudi ngriqivv hotelx.ruzhushijia nhotelx.tia nshu hotelx.jiezhiriqie ndl;hotelx.yaj in xieru.close();void mai n()
13、int p=0;cout是否要初始化房间信息?;cout(是请输入1,否请输入 0)p;if(P=1)chushihua();int chose;Me nu_Dis play();cout chose;while(chose!=0)switch(chose)/用switch语句判断选择菜单的功能case 1:search_message();break; /客房查询case 2:dingfangdengji();break;/ 订房间case 3:ruzhude ngji();break;/ 入住房间case 4:tuifa ng();break;/ 退房case 5:exit(0);defa
14、ult:cout输入错误,请重新输入endl; /提示错误命令1516couttt#e ndl;欢迎使用百康宾馆管理系统请输入您所需要的功能: 1.客房查询 3.入住登记5.退出感 *谢 *您* 的couttt#couttt#couttt#couttt#couttt#couttt#e ndl;#e ndl;2.订房登记4.退房#e ndl;#e ndl;#e ndl;#e ndl;couttt#e ndl;cout chose;while(chose=0)cout输入错误,按任意键退出程序:e ndl;exit(0);174.1.3主菜单模块测试主菜单界面中显示客房管理系统的功能选项模块如图4
15、.2所示:n下:课程设计JAD訪口卵Mtt住i苣理至昴心h18请输入选项豔管理系统国退岀感*谢*您*的t tt t t tt t t tt t t tt t t tt t t tt t图4.2主菜单194.2入住登记模块实现20421入住登记流程图开始a= =1输入“房间号”输岀“房间 使用情况”输岀“提示”输入“ a值”输出“提示”/ 输岀“提示”N1 1r r输m“房间信息”hoteli.num= =bY预订房客人信息输岀“提示”输岀“提示”输入“房间号”输岀“提示”输入客人的基本信息输入“所要填写的信息”信息存储到 磁盘文件中 F登记成功结束2122判断文件是否打开成功e ndl;4.2
16、.2入住登记代码 void ruzhude ngji()int a,b=0;stri ng n ame;ifstream liulan(宾馆房间信息.txt,ios:in);定义输入文件流对象,以输入方式打开磁盘文件旅信if(!liula n)cerrvv文件不能读.endl;return;elseliula n. seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begi n)int i=0;/存放空闲房间的号码coutvv房间号类型价格(元/天)价格(元/小时)空闲while (i hoteli. num hoteli.leix in ghotel
17、i.jiagehoteli.k on gxia n hoteli. n amehoteli.IDhoteli.lia nxifa ngshihoteli.yaj in hoteli.yudi ngnqihoteli.r uzhushijia nhoteli.tia nshuhoteli.jiezhiriqi;coutsetw(4)hoteli .num vvsetw(8)vvhoteli.leix in gvvsetw(9)vvhoteli.jiage/1 00vvsetw(14)vvhoteli.jiage%100vvsetw(13)vvhoteli.k on gxia n;输出所有房间信息
18、i+,coutvve ndl;liula n.close();关闭文件coutvv(注:0表示空房间、1表示房间已入住、2表示房间已预订)vvendl;coutvv是否预订过房间? e ndl;coutvv是,请输入1,否,请输入2 a;图4.3入住登记流程图23H.H.if(a=1)coutvv请输入房间号:vve ndl; cin b;for(i=0;iv20;i+)if(hoteli. num=b)if(hoteli.yud in griqi!=O)coutvv请输入入住日期:; cin hoteli.ruzhushijia n;coutvv请输入截止日期:;cin hoteli.jie
19、zhiriqi; hoteli.yud in griqi=O;elsecoutvv该房没有被预订过vvendl; system( pause); elsecoutvv空房间有:vve ndl;for(i nt k=0;kv20;k+)if(hotelk.k on gxia n=0) coutvvhotelk. numvv;coutvve ndl;coutvv请输入房间号:;cin b;for(i=0;iv20;i+)if(hoteli. num=b)coutvv请依次输入以下信息并加以核对(日期格式:年月日 例如19920503 )vve ndl;coutvv姓 名:;cin hoteli .
20、n ame;coutvv身份证号:ci nhoteli.ID;24cout hoteli.lia nxifa ngshi; cout hoteli.yaji n; coutvv天 数:; cin hoteli.tia nshu; cout hoteli.ruzhushijia n; hoteli.k on gxia n=2;ofstream xieru(宾馆房间信息.txt,ios:out);写回文件xieruvv房间号 类型 价格 是否空闲姓名身份证号式 押金 预定日期入住时间天数截止日期endl;for(i=0;iv20;i+)xieruhoteli .num hoteli.leix in
21、 ghoteli.k on gxia nw hoteli. name vvhoteli.IDvvhoteli.lia nxifa ngshiwhoteli.yud in griqivv hoteli.ruzhushijia nhoteli.tia nshuw hoteli.jiezhiriqie ndl; xieru.close();cout登记成功endl;联系方vvhoteli.jiagevvvvhoteli.yaj inw423入住登记模块测入住登记界面显示了房间使用情况以及提示以前是否预订过房间如图4.4所示:2526价格CTtZCTtZ天17017017017017017017017
22、0170170170170170170170170170170280280230230280280280280280280280280500500S00S00SQ0SQ0500500500500空闲2 20 00 00 00 00 00 00 00 01 10 00 00 00 00 00 00 00 00 0 204204205205206206301301302302303303304304305305280280280280280280500500500500500500500500500500303030303030505050505050505050500 00 00 00 00 0
23、0 00 00 0房间号类型101101102102103103104104105105leelee107107108108109109201201202202203203204204205205206206301301302302303303304304305305阶格 兀/小时20202Q2Q202020202020202020202020202030303030303030303838303050505a5a505050505a5a(注:0 0表示空房间、1 1表示房间已入住、2 2表示房间已预订) 房间? 士如果客人预定过房间,则选择“ 1”,然后输入预订房间号如图4.5所示。输入入
24、住日期和截止日期则“登记成功”如图 4.6所示。(注:0 0表示空房间、1 1表示房间已入住、2 2表示房间已预订) 衆擁矍请输入2 21 1请输入房间号2 2101101请输入入住日期=图4.5选择订过房间入住登记界面270 00 00 00 08 80 0:2011122320111223 =20111227=20111227L L下:谭程设计班D D吐住喀苣轄统上心2802802SQ2SQ280280280280500500500500503503500500500500203203204204205205206206301301302302303303304304305305(注=0
25、0表不空房傾 t t否wawa房间? 皇,请W W人丄,否,请输入2 22 2空房间有:1Q21Q21031033033033043043030333330303030505050505050505050500 08 80 00 00 00 00 00 00 0i i表示房间已入住,2 2表示房间已预订)10410410510510610610710713813810910920120120220220320320420420520520620630E30E”班课程设计llDe bu 9宾愴住宦営理M.exe2062062802803030301301500500505030230250050
26、05050303303500500505030430450050050503053055005005050(注:0 0表示空房间、1 1表示房间已入住、2 2表示房间已预订) S S否wawa房间? +、亀请wAi*wAi*否,请输入2 2W W输入房间号;101101I I昼记成坊图4.6订过房间入住登记界面未预订过房间则选择“ 2”则会显示出目前的空房间信息如图 4.7所示,根据系 统提示输入客人的信息则“登记成功”如图4.8所示。图4.7选择未订过房间入住登记界面28押金:15001500IffiaS-IffiaS- 登记笊功軒懿餾请输入2 2101101左房间有:10110110210
27、2103103104104105105106106107107108108139139202202203203204204205205304304305305请输入W W间号:通这忌比蔬入以T T信息并加以核对 :王第军1202251990059&49851202251990059&4985155155阳474474乎2222图4.8选择未订过房间入住登记输入信息界面4.3退房结算模块实现4.3.1退房结算流程图29开始*天数计算方法输出“提示”输入“房间号”查找该房间信息输出该房间信息输出“提示”输入“结 算日期”/ 输出“提示”/L输入“ t值”/Nt= =2信息存储道磁 盘文件当中去输出
28、“计算结束”结束小时计算方法3031图4.9退房结算流程图4.3.2退房结算代码void tuifa ng()int a,b;ifstreamfin(宾馆房间信息.txt,ios:in);cout a;int c=0,i=0;fin. seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begi n)while(ihoteli .num hoteli .l eix in ghoteli.jiagehoteli.k on gxia n hoteli. namehoteli.IDhoteli.lia nxifan gshihoteli.yaj in hote
29、li.yudi ngnqihoteli.ruzhushijia nhoteli.tia nshuhoteli.jiezhiriqi; if(hoteli .num=a)b=i;i+;/查询客人房间fin. close();cout房间信息为:endl;cout 姓名: 押金(元):入住时间:coutsetw(6)hotelb. namesetw(8)hotelb.yaj in setw(20)hotelb.ruzhushijia nen dl;cout(注:日期输入格式年月曰 例如20120101 )endl;cout d;hotelb.jiezhiriqi=d;int fei;cout按小时
30、/天数计费(小时输入1,天数输入2):;int t; t; if(t=2)3233/结算函/房间结算后初始化房身份证号联系方式fei=hotelb.yaji n-(hotelb.jiezhiriqi-hotelb.ruzhushijia n)*(hotelb.jiage/100);数,押金一(结算时间-入住时间)*价格elsefei=hotelb.yaji n-(hotelb.jiezhiriqi-hotelb.ruzhushijia n)*(hotelb.jiage%100);按小时计算if(fei0)fei=-fei;cout应付费用为:fei元eendl; elsecout总消费金额为:
31、hotelb.yajin-fei 元endl; cout押金足够应返还给您:fei元endl;fstream jsxx(结算信息.txt,ios:out);jsxx消费信息为:endl;jsxx姓名:endl押金(元):hotelb.yaji*endl入住时间: hotelb.ruzhushijia *en dl结算时间:de ndl;if(t=2)jsxx计费方式:按天数计费endl;elsejsxx计费方式:按小时计费endl;jsxx总消费金额为:hotelb.yajin-fei元endl;jsxx押金足够 应返还给您:fei元endl;jsxx.close();h
32、otelb.k on gxia n=0;间信息strcpy(hotelb. name,0);strcpy(hotelb.ID,0);strcpy(hotelb.lia nxifa ngshi,0);hotelb.yud in griqi=0;hotelb.ruzhushijia n=0;hotelb.jiezhiriqi=0;hotelb.yaj in=0;hotelb.tia nshu=0;hotelb.jiezhiriqi=0;fstream xieru(宾馆房间信息.txt,ios:out);/ 生成文件xieru房间号 类型价格是否空闲 姓名押金 预定日期入住时间天数截止日期e ndl
33、;for(i=0;i20;i+)34hoteli.IDhoteli.lia nxifa ngshihoteli.yudi ngriqivv hoteli.ruzhushijia nhoteli.tia nshu hoteli.jiezhiriqie ndl;hoteli.yaj in4 44 41 1 t tt t t tt t t tt t I It t睥房巻矍3 3 入隹登记乩退岀感*谢*您*的*使-用f ft t f ft t f ft t t tt t t tt t t tt t输入选蛮盒xieruhoteli .num hoteli .l eix in ghoteli.jiageho
34、teli.k on gxia nhoteli. namexieru.close(); system(” pause);4.3.3退房结算模块测试选择退房功能输入房间号则会显示出客人的基本信息如图 4.10所示;根据系统 提示输入结算日期并选择结算方式则“结算结束”如图 4.11和图4.12所示。账单信 息存入到磁盘文件当中去,如图 4.13所示。rF:煤程UDebugXMm住宿管理矣统.exe题錚;押金 元,入住时间;刘明涵 6006002011122120111221请始lAlA结算日期格式年月日20100202)20100202)图4.10退房结算输入结算房间号后界面图35入住时I I可:
35、2011122120111221tt tt tt n nt t tt亠S耶辿便用亘康短慎管理系统国 请1 1 AtAt谢扁韓功能=一.理喪询 3.A#3.A#登记脾房驚tt tt tt tt tt tt F:谍程iSi+lDffbug馆住眉苣瑾宝统僮皱A A遒项! 4 4jtpAfjtpAf节二仙劇睢息另:丄八姓邕押金元刘明涵 800800 请输入结算日期格式年月日2010020100202)202) 2011122520111225梭小时#天数计散天数输入小时输入2 2注图4.11退房结算输入日期界面4 42011122120111221t tt t t tt t t tt t t tt t
36、 t tt t t tt t请掘蔭能; 感.谢f f佩E E用頁鑿馆管理系统e e 孟在IT4I台t t2 2 订房登记4.4.房tt tt n tt tt tt36入住时间:2011122120111221亠 _押金t t元儿刘日月涵800800请输A A结算日期格式年月日201020100202)0202) 2011122520111225據小时级计费C C天数输入1 1,小时输入 kfkf貢费釜繼:7 7殖兀gigi鹭险返还给您=&阮37结算信息.txt -记事本TT肾二淀萄m 陷刃 童SfVii理昂歯I彳肖费信息为: 理名=刘明涵 押釜(7L7L): 800800押金足够融: :201
37、1122120111221: :2011122520111225J接天数itit费、:了2020元足够应返还给您 E0E0元图4.13退房结算信息文件五、附录:程序代码#in clude#in clude#in clude#in clude/输出流控制/输入输出文件流using n ames pace std;void search_message();void dingfan gde ngji();void ruzhude ngji();void tuifa ng();void all_message();void emp ty_message();void ruzhix in xi();v
38、oid dingfangxin xi();struct hotel/定义结构体int num;char leixi ng10;int jiage;int kon gxia n;char n ame20;char ID20;char lia nxifa ngshi15; int yajin;long yud in griqi;3839long ruzhushijia n; int tia nshu;long jiezhiriqi; hotel20;couttt#e ndl;void chushihua()int i3=1,0,1,k=0;for(;k20;k+)hotelk. nu m=i0*1
39、00+i1*10+i2;strc py(hotelk D,0);hotelk.jiezhiriqi=0;hotelk.k on gxia n=0;strc py(hotelk.lia nxifa ngshi,0);strc py(hotelk. name,0);hotelk.ruzhushijia n=0;hotelk.tia nshu=0;void Men u_Dis play()system(cls);couttt#e ndl; couttt#couttt#couttt#couttt#couttt#couttt#欢迎使用百康宾馆管理系统 请输入您所需要的功能:1.客房查询3.入住登记5.退
40、感 *谢 *您*2.订房登记4.退房#e ndl;#e ndl;#e ndl;#e ndl;#e ndl;#e ndl;40单人间 ”);break; 双人间 ”);break; 套房 ”);break;hotelk.yud in griqi=0;switch(i0)case 1:hotelk.jiage=17020;strcpy(hotelk.leixi ng,case 2:hotelk.jiage=28030;strcpy(hotelk.leixi ng,case 3:hotelk.jiage=50050;strcpy(hotelk.leixi ng,41if(k=8)i0+,i2=0;i
41、f(k=14)i0+,i2=0;i2+;fstream xieru(宾馆房间信息.txt,ios:out);xieru房间号 类型价格是否空闲姓名身份证号押金预定日期入住时间天数截止日期e ndl;联系方式for(int x=0;x20;x+)xieruhotelx. num hotelx.leix in ghotelx.jiage hotelx.k on gxia nhotelx. namehotelx.IDhotelx.lia nxifa ngshihotelx.yudi ngriqivv hotelx.ruzhushijia nhotelx.tia nshu hotelx.jiezhir
42、iqie ndl;hotelx.yaj in xieru.close();void mai n()int p=0;cout是否要初始化房间信息?;cout(是请输入1,否请输入 0) p;if(P=1)chushihua();int chose;Me nu_Dis play(); cout chose;H.H.while(chose!=0)switch(chose)/用switch语句判断选择菜单的功能 case 1:search_message();break; /客房查询case 2:dingfangdengji();break;/ 订房间case 3:ruzhude ngji();bre
43、ak;/ 入住房间case 4:tuifa ng();break;/ 退房4243case 5:exit(0);default:cout输入错误,请重新输入 endl; /提示错误命令couttt#e ndl; couttt#couttt#couttt#couttt#couttt#couttt#欢迎使用百康宾馆管理系统 请输入您所需要的功能:1.客房查询3.入住登记5.退感*谢*您*2.订房登记4.退房#e ndl;#endl;#endl;#endl;#endl;#endl;couttt#e ndl;cout chose;while(chose=0)cout输入错误,按任意键退出程序:e nd
44、l;exit(0);void ruzhude ngji()int a,b=0;stri ng n ame;ifstream liulan(”宾馆房间信息.txt,ios:in);/定义输入文件流对象,以输入方式打开磁盘文件旅信/判断文件是否打开成功if(!liula n)cerr文件不能读.endl;return;elseliulan.seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begi n)int i=0;/存放空闲房间的号码cout房间号 类型价格(元/天)价格(元/小时)空闲e ndl;while (i hoteli. num hoteli
45、 .l eix in ghoteli.jiagehoteli.k on gxia n hoteli. namehoteli.IDhoteli.lia nxifan gshihoteli.yaj in hoteli.yudi ngnqihoteli.ruzhushijia nhoteli.tia nshuhoteli.jiezhiriqi;coutsetw(4)hoteli .num setw(8)hoteli.leix in gsetw(9)hoteli.jiage/100setw(1 4)hoteli.jiage%100setw(13)hoteli.k on gxia n;i+,coute
46、ndl;liula n.close();/ 关闭文件cout(注:0表示空房间、1表示房间已入住、2表示房间已预订)endl;cout是否预订过房间?endl;cout是,请输入 1 否,请输入 2 a;if(a=1)cout请输入房间号: b;for(i=0;i20;i+)if(hoteli. num=b)if(hoteli.yudi ngriqi!=O)cout hoteli.ruzhushijia n;cout hoteli.jiezhiriqi; hoteli.yudi ngnqi=0;else cout该房没有被预订过endl; system( pause); else46cout空
47、房间有:endl; for(i nt k=0;k20;k+)if(hotelk.k on gxia n=0) couthotelk. numH.H.coute ndl;coutb;for(i=0;i20;i+)if(hoteli. num=b)cout请依次输入以下信息并加以核对 (日期格式:年月 日 例如19920503 )e ndl;cout hoteli .n ame;couthoteli.ID;cout hoteli.lia nxifa ngshi;cout hoteli.yaj in;cout hoteli.tia nshu;cout hoteli.ruzhushijia n;hot
48、eli.k on gxia n=2;ofstream xieru(宾馆房间信息.txt,ios:out); /写回文件xieru房间号类型价格是否空闲姓名身份证号预定日期入住时间天数截止日期e ndl;联系方式押金for(i=0;i20;i+)xieruhoteli .num hoteli .l eix in ghoteli.jiagehoteli. namehoteli.k on gxia nhoteli.IDhoteli.lia nxifa ngshihoteli.yudi ngriqivv hoteli.ruzhushijia nhoteli.tia nshu hoteli.jiezhi
49、riqie ndl; xieru.close();cout登记成功endl;hoteli.yaj in4748void tuifa ng()int a,b;ifstream fin(宾馆房间信息.txt,ios:in); couta;int c=O,i=O;fin. seekg(117,ios:beg);/在输入文件开头以参照位置为基础移动若干字节(beg=begi n)while(ihoteli .num hoteli .l eix in ghoteli.jiagehoteli.k on gxia n hoteli. namehoteli.IDhoteli.lia nxifan gshiho
50、teli.yaj in hoteli.yudi ngnqihoteli.ruzhushijia nhoteli.tia nshuhoteli.jiezhiriqi; if(hoteli .num=a)b=i;i+;/查询客人房间fin. close();cout房间信息为:endl;cout 姓名: 押金(元):入住时间:coutsetw(6)hotelb. namesetw(8)hotelb.yaj in setw(20)hotelb.ruzhushijia nen dl;cout(注:日期输入格式年月曰 例如20120101 )endl;cout d;hotelb.jiezhiriqi=d
51、;int fei;coutt;if(t=2)fei=hotelb.yaji n-(hotelb.jiezhiriqi-hotelb.ruzhushijia n)*(hotelb.jiage/100);e ndl;/结算函4950/房间结算后初始化房身份证号联系方式数,押金一(结算时间-入住时间)*价格elsefei=hotelb.yaji n-(hotelb.jiezhiriqi-hotelb.ruzhushijia n)*(hotelb.jiage%100);按小时计算if(fei0)fei=-fei;cout应付费用为:fei元endl; elsecout总消费金额为:hotelb.yaj
52、in-fei 元endl; cout押金足够应返还给您:fei元endl;fstream jsxx(结算信息.txt,ios:out);jsxx消费信息为:endl;jsxx姓名:endl押金(元):hotelb.yaji*endl入住时间: hotelb.ruzhushijia *en dl结算时间:de ndl;if(t=2)jsxx计费方式:按天数计费endl;elsejsxx计费方式:按小时计费endl;jsxx总消费金额为:hotelb.yajin-fei元endl;jsxx押金足够 应返还给您:fei元endl;jsxx.close();hotelb.k on
53、 gxia n=0;间信息strcpy(hotelb. name,。);strcpy(hotelb.ID,0);strcpy(hotelb.lia nxifa ngshi,0);hotelb.yud in griqi=0;hotelb.ruzhushijia n=0;hotelb.jiezhiriqi=0;hotelb.yaj in=0;hotelb.tia nshu=0;hotelb.jiezhiriqi=0;fstream xieru(宾馆房间信息.txt,ios:out);/ 生成文件xieru房间号 类型价格是否空闲 姓名押金 预定日期入住时间天数截止日期e ndl;for(i=0;i
54、20;i+)xieruhoteli .num hoteli .l eix in g hoteli.jiagehoteli.k on gxia n51hoteli. namehoteli.IDhoteli.lia nxifa ngshihoteli.yudi ngriqivv hoteli.ruzhushijia nhoteli.tia nshu hoteli.jiezhiriqie ndl;hoteli.yaj inxieru.close(); system( pause);/对房间信息进行查询的函数void search_message()void all_message();void em
55、p ty_message();void ruzhux in xi();void dingfangxin xi();couttt%e ndl;couttt%couttt%couttt%couttt%couttt%couttt%欢迎使用百康宾馆管理系统请输入您要选择的功能1.房间应用情况2.空房间信息3.入住信息4.订房信息5返回主菜单感* 谢*您*的*使%e ndl;%e ndl;%e ndl;%e ndl;%e ndl;%e ndl;couttt% e ndl;int i;couti;while(i!=5)switch(i)/用switch语句判断选择查询的方法case 1:all_messa
56、ge();break;case 2:e mp ty_message();break;case 3:ruzhux in xi();break;case 4:di ngfangxin xi();break;default:cout输入错误,请重新输入endl; /提示错误命令couttt%52e ndl;couttt%欢迎使用百康宾馆管理系统%e ndl;couttt%请输入您要选择的功能%e ndl;couttt%couttt%couttt%1.房间应用情况2.空房间信息3.入住信息4.订房信息5返回主菜单%e ndl;%e ndl;%e ndl;couttt%感*谢* 您*的*使%e ndl;
57、H.H./判断文件是否打开成功/用setw ()进行界面排版couttt% e ndl;cout i;system( p ause); system(cls); void all_message()int i=0;ifstream liulan(”宾馆房间信息.txt,ios:in);用输入输出流自定义信息文件if(! liula n)cerr文件不能读.endl;return; elseliula n. seekg(117,ios:beg);cout(注:空房间用 0表示,已经入住用1表示,订房用2表示)endl;cout房间号 类型价格(元/天)价格(元/小时)空闲endl;while(i
58、 hoteli. num hoteli .l eix in ghoteli.jiagehoteli.k on gxia n hoteli. namehoteli.IDhoteli.lia nxifan gshihoteli.yaj in hoteli.yudi ngnqihoteli.ruzhushijia nhoteli.tia nshuhoteli.jiezhiriqi;coutsetw(4)hoteli .num setw(8)hoteli.leix in gsetw(10)hoteli.jiage/100setw( 10)hoteli.jiage%100setw(13)hoteli.k
59、 on gxia n;coute ndl;i+;53/关闭文件system( pause); liula n.close(); void emp ty_message()/显示空房间信息ifstream aa(宾馆房间信息.txt,ios:in);int i=0;cout房间号 类型 房间价格(元/天)元/小时endl;aa.seekg(117,ios:beg); while(ihoteli .num hoteli .l eix in ghoteli.jiagehoteli.k on gxia n hoteli .n amehoteli.IDhoteli.lia nxifan gshihote
60、li.yaj in hoteli.yudi ngnqihoteli.ruzhushijia nhoteli.tia nshuhoteli.jiezhiriqi; if(hoteli.k on gxia n=0)coutsetw(4)hoteli .num setw(13)hoteli .l eix in gsetw(10)hoteli.jiage/100setw (12)hoteli.jiage%100e ndl;i+;aa.close(); void ruzhux in xi()ifstreamfin(宾馆房间信息.txt,ios:in);int i=0;fin. seekg(117,ios
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葡萄酒鉴赏师培训课件
- 2025年山东省安全员B证复审考试模拟100题及答案
- 葡萄酒知识培训大全课件
- 茶艺与茶文化校考试题及答案
- 2025设备购销合同协议书范本
- 仓储保管员中级考试题及答案
- 2025地下停车场车位租赁合同
- 2024译林版八年级英语上册Unit2 School life(重难词汇)含答案
- 2025年中小学体育教师招聘考试判断题库及答案(共500题)
- 2025船舶股份合同范本
- 中级财务会计PPT完整全套教学课件
- 廉洁培训ppt课件-廉洁培训课件
- TNXFSA 059-2023 锁鲜枸杞规程
- (完整)《走遍德国》配套练习答案
- GB/T 34239-2017聚3-羟基丁酸-戊酸酯/聚乳酸(PHBV/PLA)共混物长丝
- GB/T 26814-2011微波消解装置
- GB/T 13384-2008机电产品包装通用技术条件
- 粘膜免疫系统概述
- 新部编版四年级上册语文全册完整课件
- 政府信息公开申请表
- FANUC工业机器人离线与应用项目7 工业机器人KAREL程序
评论
0/150
提交评论