c酒店客房管理系统.docx
- 文档编号:29302304
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:17
- 大小:85.70KB
c酒店客房管理系统.docx
《c酒店客房管理系统.docx》由会员分享,可在线阅读,更多相关《c酒店客房管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
c酒店客房管理系统
数据结构
题目:
酒店客房管理系统
专业:
班级:
姓名学号:
实训时间:
实训地点:
成绩:
详细设计说明书
引言
1.1编写目的
完成期中考试作业
1.2项目背景
酒店客房管理系统
主要功能:
前台操作:
包括开房登记、退房结账和房状态查看
预订管理:
包括预订房间、预订入住和解除预订
信息查询:
包括在住客人列表、预订客人列表
报表统计:
包括开房记录统计、退房结账和预订房间统计
完成提示:
(1)住店情况记录在住店管理表中:
客人姓名、房号、入住时期、预计离开日期、结账离开日期、应付金额
(2)每个房间的使用情况记录在房间信息表中:
房号、价格、押金、房状态(空,入住)
(3)预定情况记录在预订情况表中:
客人姓名、房号、入住日期、预计离开日期
(4)数据存在文件中
2.总体设计
2.1需求概述
1.客房预定系统
客房预定
预定未到处理
预售查询
预定系统可随时查询酒店客房预售一览表,及可售房间数,可查询某间客房预定情况。
2.前台接待系统
入住登记
预定客房查询
可售客房查询
3.前台收银系统
记帐
退房
押金加入
查帐
客人信息查询
动态房态查询
房间明细帐查询
收银员报表
当日入住客人报表
住店客单查询
查询客房状态
查询可售情况
客房占用统计
帐务查询
万能查询
报表输出
2.2软件结构
图2.系统总流程图
表1:
系统总流程数据字典
数据流名:
登记
组成:
{客户信息}+{房间信息}+{押金}+时间
数据项:
客房信息
组成:
房号+类型+单价+状态
组织:
房号
数据项:
状态
取值:
空房可用
空房待修
预订占用
正在占用
数据项:
押金
组成:
预订金+入住押金+入住租金
23.程序描述
流程图数据字典
数据处理名:
前台加工
简述:
在酒店中直接与客人发生关系的活动,为客人提供的一切服务,包括
客人进入酒店前的预订,预订后的入住,消费,以及离店前的手续
办理。
组成:
预订+接待+取消预订+离店
3.详细设计
3.1
备注按照客人从住店、离店的过程将系统划分为预订、接待、取消预订和离店四个处理过程。
客人通过预订,也可直接到酒店登记住宿。
客人预订后,也可能取消预订。
表3:
个人预订数据字典
数据处理名:
房间查询
简述:
根据客人的预订要求,查询客房预订信息表,确定是否有空房
输入:
客户信息,来源:
外部实体“客人”
输出:
[1]无客房,去处:
外部实体“客人”
[2]有客房,预订登记表,去处:
“客人信息”
数据流名称:
预订登记表
简述:
在房间查询有房时所填的表,用于记载客人信息
组成:
身份证号+姓名+性别+年龄+民族+国籍+家庭住址+VIP+电话
客人来店预订,服务员查询“客房预订信息表”,无空房则返回客人。
有客房则登记,并核对“客人黑名单”(进行消费而未付帐的客人名单)及“挂帐表”,无误后收取预订押金并记入“预订金入帐表”。
进行订房,将预订信息记入“客人预订信息表”,修改“客房预订信息表”的客房状态,给客人预订证明表。
预订完成。
3.2性能
1.对数据对象类的确定
2.对各类间关联的确定
3.系统应提供客房的分类管理功能、
4.系统在各功能模块的实现当中,提供多级分类检索和组合搜索
3.3输入项目
1.客房类型
2.员工名或编号
3.客房信息
4.客房状态
3.4输出项目
1.客房类型表
2.客房信息表
3.客房状态表
3.5算法
见后面
3.6程序逻辑
3.7界面浏览
3.5算法补充
#include
#include
#include
#include
//成员变量的声明
inti,j,k,p=0;
chartemp[]="";
introom[5][5];
clock_tstart;
//成员方法的声明
voidinit()
{
intx,y,z;
for(x=0;x<5;x++)
{
for(y=0;y<5;y++)
{
room[x][y]=0;
}
}
}
voidhotelTitle()
{
printf("\n-------酒店房间登记与计费管理系统----\n");
printf("\t1.登记入住\n");
printf("\t2.查询房间的入住情况\n");
printf("\t3.查询当前费用\n");
printf("\t4.结账退房\n");
printf("\t5.退出程序\n");
}
voidhotel_execute();
voidhotel_select();
voidhotel_outhotel();
voidoutsystem();
voidhotel_total();
intmain(void)
{
system("colorf1");
init();
while
(1)
{
Loop:
hotelTitle();
printf("\n请选择:
");
j=scanf("%d",&k);
if(j==0||k<1||k>5)
{
printf("\n输入错误。
\n\t请输入所列出的选项。
\n\n3秒后刷新...PleaseWeit!
Thanks\n");
fflush(stdin);
system("cls");
gotoLoop;
}else{
switch(k)
{
case1:
hotel_execute();break;
case2:
hotel_select();break;
case3:
hotel_total();break;
case4:
hotel_outhotel();break;
case5:
outsystem();return;
default:
printf("\n\t系统出错!
请联系管理员!
\n");//怕出现BUG
return;
}
}
fflush(stdin);//清空缓存
}
}
//入住登记
voidhotel_execute()
{
intx,y,z;
printf("请输入你要住本酒店多少层楼的住房?
【1-5】");
fflush(stdin);
L:
scanf("%d",&x);
p=x;
if(x>5)
{
printf("不好意思本店没有该层楼房。
\n请重新选择:
");
gotoL;
}
printf("请输入你要住第%d层的几号房间?
【1-5】",x);
fflush(stdin);
LP:
scanf("%d",&y);
if(y>5)
{
printf("不好意思该层楼并无该房间。
\n请重新选择:
");
gotoLP;//无条件的回去GOTO语句
}
if(x>2){//二层以上则100元一天
printf("\n提示:
该房是贵宾套房,100元一天\n");
}else{
printf("\n提示:
该房是标准套房,50元一天\n");
}
if(room[x-1][y-1]==0)//判断该房已经入住
{
room[x-1][y-1]=1;
printf("\n谢谢您的光临,您已经成功登记。
\n您的信息如下:
\n入住房间:
%d-%d\n",x,y);
start=clock();
}
else
{
printf("警告:
该房已经有人入住...请换房入住哈。
\n");
}
}
//查询住房信息
voidhotel_select()
{
intx,y,z;
system("cls");//清空内容。
//以下没什么重要的。
就是控制输出格式
printf("宾馆入住情况如下:
");
printf("\n|-------|--------|--------|--------|--------|--------|\n");
printf("||");
for(x=1;x<=5;x++)
{
printf("房间号|");
}
printf("\n");
for(x=0;x<5;x++)
{
if(x==0)
{
printf("|-------|--------|--------|--------|--------|--------|\n|第%d层|",x+1);
}else
{
printf("\n|-------|--------|--------|--------|--------|--------|\n|第%d层|",x+1);
}
for(y=0;y<5;y++)
{
if(room[x][y]==0)
{
printf("空%d-%d|",x+1,y+1);
}else
{
printf("住%d-%d|",x+1,y+1);
}
if(y+1==5)
{
if(x+1==1||x+1==2)
printf("该层标间均50元");
else
printf("该层标间均100元");
}
}
}
printf("\n|-------|--------|--------|--------|--------|--------|\n");
printf("\n住房信息:
\n");
for(x=0,z=0;x<5;x++)
{
for(y=0;y<5;y++)
{
if(room[x][y]!
=0)
{
z++;
printf("\t%d-%d有人入住\n",x+1,y+1);
}
}
}
if(z==0)
{
printf("\t现无人入住本酒店...\n");
}
}
//结账
voidhotel_outhotel()
{
intx=0,y=0;
printf("请输入您要结账退房的楼层编号?
");
scanf("%d",&x);
printf("请输入该楼层退房的房间编号?
");
scanf("%d",&y);
if(room[x-1][y-1]==1)
{
room[x-1][y-1]=0;
printf("\n\t房间%d-%d退房成功,再会。
\n",x,y);
}
else
{
printf("\n\t房间%d-%d退房失败。
\n\t\t原因:
未入住,是空房,不需要退...再会。
\n",x,y);
}
}
//查看价钱
voidhotel_total()
{
//在c语言中有专门处理系统时间,程序计时等等功能的库,即time.h
//在time.h中函数clock_tclock(void)可以完成计时功能。
//这个函数返回从"开启这个程序进程"到"程序中调用clock()函数"时之间的CPU时钟计时单元(clocktick)数,
//在MSDN中称之为挂钟时间(wal-clock)。
//其中clock_t是用来保存时间的数据类型,在time.h文件中,
//我们可以找到对它的定义:
#ifndef_CLOCK_T_DEFINEDtypedeflongclock_t;
//#define_CLOCK_T_DEFINED#endif很明显,clock_t是一个长整形数。
在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,
//它用来表示一秒钟会有多少个时钟计时单元,
//其定义如下:
#defineCLOCKS_PER_SEC((clock_t)1000)可以看到每过千分之一秒(1毫秒),
//调用clock()函数返回的值就加1。
clock_tfinish=clock();
doubleduration=(double)(finish-start)/CLOCKS_PER_SEC;
doubleday=duration/60/60/24;//这里是将秒换成天
doubletotal=0;
printf("您住了%f秒钟...\n",duration);
//system("pause");按任意键继续...
if(p>2){
total=day*100;
if(day==0){
total=100;
}
printf("\n我们旅店是按包天计费的。
\n若按小时,您需要付%f元,但是现在你要付100元(黑店哈哈)\n",total);
//这种计费方式比较现实。
符合实际
}else{
total=day*50;
if(day==0)
{total=50;}
printf("\n我们旅店是按包天计费的。
\n若按小时,您需要付%f元,但是现在你要付50元(黑店哈哈)\n",total);
}
}
//退出
voidoutsystem()
{
charmessage[]="\n酒店登记计费系统.";
for(i=0;i { printf("%c",message[i]); } printf("\n\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店客房 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)