实习报告酒店管理Word文档下载推荐.docx
- 文档编号:16053949
- 上传时间:2022-11-18
- 格式:DOCX
- 页数:14
- 大小:120.35KB
实习报告酒店管理Word文档下载推荐.docx
《实习报告酒店管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实习报告酒店管理Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
301
6
302
图6-1方案一中各客房状态
程序在输入人数M和房间要求R后,输入可供选择的房间号码。
方案2:
已知有方案1那样的条件,并且已知等级为r的房间每人每天的住宿费为RATE(r);
RATE是一个一维数组。
程序在输出每个候选的房间号码RM(j)之后,还要要求输出这批散客每人所付的住宿费DAYRENT(j)。
考虑到旅馆的房间数N可能较大,为此,不必每次预定时都把满足的房间号RM(j)都输出。
设程序要求输入人数M、房间等级要求R、以及希望输出可供选择的房间号码数K(1<
=K<
=N),程序执行后能输出所要求的结果。
方案3:
程序的已知条件与要求基本同方案1和方案2。
为了是程序能具有较大的适应性,设旅馆的房间数N是一个可供修改的符号常量,而旅馆订房系统的房间初始信息可以由程序员根据旅馆现状初始化(即ROOM、RANK、NBED、STATDS、RATE数组状态可由程序员进行初始化),然后在初始化的基础进行订房工作。
初始化后的工作要求同方案2.
方案4:
在方案3的基础上,增加客户订房的功能(键入可供选择的房号)。
方案5:
在方案3和方案4的基础上,加上退房功能;
方案6:
鼓励同学加入更符合实际应用所需要的功能。
*备注:
该实习报告采用方案5。
二、[解题的基本算法]
(1)该程序必须具有三个功能;
查房,订房与退房。
为了方便我们可以把订房功能与退房功能划分开来。
并把查房功能嵌入订房功能与退房功能里面。
首先,在程序开头设置判断,如果输入‘1’就进入订房功能;
如果输入‘0’就进入退房功能。
订房功能会根据客人提供的人数M与等级R筛选出适合的房间信息,并以带序号形式罗列出来供客人选择。
客人订房时只需输入相应的序号即可,而不必输入繁杂的房间号码,如果客人只是想查房,而不需要订房时可输入‘0’结束,那样将可以达到查房功能。
而退房功能则会把所有属于“占有状态”的房间信息,并以序号形式罗列出来。
同样客人要退房时输入序号,不需要退房时输入可‘0’结束。
(2)首先设置初始化语句,对一维数组ROOM、RANK、NBNK、NBED、STATUS、RATE、DAYRENT进行初始化。
(3)根据客人提供的人数M与等级R进行筛选的功能,第一;
当等级为0时,只需把满足床位NBED(j)>
=M的房间信息筛选出来即可。
第二;
当等级不为0时,必须要同时满足等级RANK(j)=R与床位NBED(j)>
=M的房间才被筛选出来。
如果没有找到匹配的房间,则输出“没有找到符合条件的房间”。
客人订了房的话,就把房信息中的状态值STATUS(j)改为‘1’。
(4)在筛选房间的同时,我们可以插入计算住宿费的程序,并把它储存在DAYRENT的一位数组中。
住宿费的计算:
第一;
查询该房间信息中的等级RANK(j)。
根据等级查询出相应等级的费用RATE(j)。
第三;
由于住宿费为每床位每天的费用,所以查询该房间的床位数NBED(j),第四;
一间房间总的费用即为RATE(j)×
NBED(j)。
第五,要求是每人所需付的费用,所以DAYRENT(j)=RATE(j)×
NBED(j)÷
M。
(5)退房功能;
首先把状态值STATUS(j)为‘1’的房间序号形式罗列出来,然后把客人需要退房的相应房间的状态值STATUS(j)改为‘0’。
(6)输出格式;
为了更客观的显示数据,我们有必要把房间信息以表格的形式输出来,可以利用制表的转义字符”\t”与限定输出数据字段宽度的输出操纵符setw(intwidth)。
三、[程序流程图]
四、[源程序代码]
#include<
iostream.h>
conio.h>
iomanip.h>
voidmain()
{
charch;
constintN=6;
intROOM[N],RANK[N],NBED[N],STATDS[N];
intRATE[3];
for(i=0;
i<
N;
i++)//该循环对ROOM[N]进行初始化。
Cout<
<
”initalizetheROOM[N]”;
Cin>
>
ROOM[i];
}
i++)//该循环对RANK[N]进行初始化
”initalizetheRANK[N]”;
RANK[i];
i++)//该循环对NBED[N]进行初始化
”initalizetheNBED[N]”;
NBED[i];
i++)//该循环对STATDS[N]进行初始化
”initalizetheSTATDS[N]”;
STATDS[i];
i++)//该循环对RATE[3]进行初始化
”initalizetheRATE[3]”;
RATE[i];
do
{
intRM[N]={0};
intI,J,M,R,S,T,K,A;
floatDAYRENT[N]={0.0};
clrscr();
cout<
"
\n\t\t---welcometohotel---\n"
;
\n\t\t(cheakout--'
0'
/book--'
1'
)"
cin>
A;
}while(A<
0||A>
1);
if(A==1)
do//要求客人提供人数M并排错。
cout<
\n\t\tinputthenumberofthepeople:
cin>
M;
}while(M<
=0||M>
6);
do//要求客人提供等级R并排错。
\n\t\tinputtherank:
R;
}while(R<
0||R>
3);
for(I=0,J=0;
I<
I++)//对客房信息行进扫描。
if(R==0&
&
STATDS[I]==0&
NBED[I]>
=M)
{
RM[J]=ROOM[I];
S=RANK[I];
DAYRENT[J]=(RATE[S-1]*NBED[I]/(M*1.0));
//计算住宿费。
J++;
}
if(R!
=0&
=M&
RANK[I]==R)
DAYRENT[J]=(RATE[S-1]*NBED[I]/(M*1.0));
//计算住宿费。
J++;
}
if(STATDS[I]!
=0||NBED[I]<
M||RANK[I]!
=R){continue;
}//不符合的房间信息跳过。
}
\n\t\tthereare"
J<
roomforyourchoice!
\n\n\t\t"
\n\t\t"
number"
ROOM"
DAYRNT"
for(I=0;
J;
I++)//该循环输出符合条件的J间房间。
setw(6)<
I+1;
setw(8)<
RM[I];
cout<
DAYRENT[I];
//设计输出格式。
do
\n\n\t\tplaesechoosenumberoftheroom(K):
K;
//输入所需订房的房间序号K。
}while(K<
0||K>
J);
I++)//扫描找出相应序号的房间信息
if(RM[K-1]==ROOM[I])
STATDS[I]=1;
//把已订的房间状态改为“占有”。
\n\n\t\tyouhadsuccesstobooktheROOM:
"
ROOM[I];
\n\n\t\tthedayrentofeachpeople:
”<
DAYRENT[K-1];
if(RM[K-1]!
=ROOM[I])
{continue;
else
\n\t\ttheROOMwhichcanyoucheakout:
\n\t\tnumber"
for(J=0,I=0;
I++)//该循环扫描出状态为“占有”的房间。
if(STATDS[I]==1)
J+1;
RM[J];
if(STATDS[I]!
=1)
\n\n\t\tplaeseinputnumberoftheroom(K):
//输入输入所需退房的房间序号K。
}while(K<
for(I=0;
I++)//扫描找出相应序号的房间信息。
if(RM[K-1]==ROOM[I])
STATDS[I]=0;
\n\n\t\tyouhadsuccesstocheakouttheROOM:
if(RM[K-1]!
=ROOM[I])
}
\n\n\t\tcontinue(yes--anykey/no--N)?
ch=getche();
if(ch=='
N'
)ch='
n'
}while(ch!
='
);
五、[调试方案]
订房需要成功地把房间状态更改,当再次查房时,不会再显示该房间信息,同样地,退房业务也如此。
订房时,根据客人提供的信息(即人数M与等级R)正确筛选出房间信息。
退房时,又正确地筛选出“占有状态”的房间。
根据以上条件,我们设计出方案:
初始化数据为:
Number
STATUS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实习 报告 酒店 管理