酒店管理系统代码Word文档下载推荐.docx
- 文档编号:20333128
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:16
- 大小:42.88KB
酒店管理系统代码Word文档下载推荐.docx
《酒店管理系统代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《酒店管理系统代码Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
//
房间信息
}Order;
入住信
date;
typedefstructHotelInfomation{
int
//已入住房数
checkinAmount;
intsingleRemainAmount;
房剩余房数
intdoubleRemainAmount;
双人房
剩余房数
}Hotellnfo;
型enum
{MainUI,HotelInfoUI,CheckinUI,CheckinResultUI,0rderUI,Check0utUI,Exit};
〃GUIenum{Single,Double,Big};
//RoomTypeenum{Hour,Day};
//countType
量intGUI=MainUI;
Order*orderList[100];
//订单数组
Room*roomList[100];
//房间数组
HotelInfo*hotelInfo=NULL;
//酒店房间信
函数声明voidinitiallizeRoomList();
voidinsertToOrderList(Order*order);
Room*getRoomByType(introomType);
Order*getOrderByRoomNum(introomNum);
voidshowMainUI();
voidshowHotelInfoUI();
voidshowCheckinUI();
voidshowCheckinResultUI();
voidshowOrderUI();
voidshowCheckOutUI();
//Main函
数
voidmain()//主函数
//初始化酒店房间信息
hotelInfo=(HotelInfo
*)malloc(sizeof(Hotellnfo));
hotellnfo->
singleRemainAmount=20;
hotellnfo->
doubleRemainAmount=40;
hotelInfo->
bigRemainAmount=40;
hotelInfo->
checkinAmount=0;
//初始化房间列表
initiallizeRoomList();
//界面显示
while(GUI!
=Exit)
switch(GUI)
caseMainUI:
showMainUI();
break;
caseHotelInfoUI:
showHotelInfoUI();
caseCheckinUI:
showCheckinUI();
break;
caseCheckinResultUI:
showCheckinResultUI();
caseOrderUI:
showOrderUI();
caseCheckOutUI:
showCheckOutUI();
default:
}
函数定义
//voidinitiallizeRoomList(){
//房间数组初始化,初始化的结果是让roomList的数组有100个room指针,而且设置了相应的值
inti;
Room*newRoom=NULL;
for(i=0;
i<
20;
i++)//单人房房间信
息初始化
newRoom:
(Room*)malloc(sizeof(Room));
roomList[i]=newRoom;
roomList[i]->
checked=O;
price=11O;
roomNum=i+1;
roomType=Single;
for(i=20;
60;
i++)//双人房房间信
newRoom
roomList[i]=newRoom;
checked=0;
price=180;
roomType=Double;
for(i=60;
100;
i++)//大床房房间信
roomType=Big;
//通过所选择的房型获取空房间,获取房间后将房间信息改为已入住,并减少相应房型的剩余房间数
Room*getRoomByType(introomType)
switch(roomType)
caseSingle:
i++)
if(roomList[i]->
checked==0)
roomList[i]->
checked=1;
hotelInfo->
singleRemainAmount
■
J
checkinAmount++;
returnroomList[i];
caseDouble:
i++)if(roomList[i]->
hotellnfo->
doubleRemainAmount
caseBig:
bigRemainAmount--;
hotelInfo->
//将订单放入订单列表
voidinsertToOrderList(Order*order){
for(i=0;
if(orderList[i]==NULL)
orderList[i]=order;
}//通过房号查询订单
Order*getOrderByRoomNum(introomNum){
if(orderList[i]->
room->
roomNumroomNum)
returnorderList[i];
}voidshowMainUI()
//显示主界面,并接受输入
intchooseNum;
system("
cls"
);
printf("
\n\n==========================酒店房间登记与计费管理管理系统
=======================\t\n\n\n"
*\t\t\t\t1.
\t\t\t\t*\n"
入
住
登
记
*\t\t\t\t2.
查询
住情
况
\t\t\t*\n"
*\t\t\t\t3.
当
刖费
用
*\t\t\t\t4.
结
账
退
房
*\t\t\t\t5.
出
程
序
\t\t\t\t*\n\n\n"
\n\n==========================酒店房间登记与计费管理管理系统=======================\t\n\n\n"
printf(“请输入相应编号进入菜单\t"
//接受输入
seanf("
%d"
&
chooseNum);
switch(chooseNum)
case1:
GUI=HotellnfoUI;
case2:
case3:
GUI=OrderUI;
case4:
case5:
Sleep(3000);
GUI=Exit;
voidshowHotelInfoUI(){
\n\n=========================酒店入住情况查询菜单=======================\t\n\n\n\n"
*\t\t\t入住房间
数:
%d\t\t\t\t*\n"
checkinAmount);
printf("
*\t\t\t剩余房间数:
\t"
单人
房:
%d\t\t*\n"
hotellnfo->
singleRemainAmount);
*\t\t\t\t\t双人
doubleRemainAmount);
*\t\t\t\t\t大床
%d\t\t*\n\n"
bigRemainAmount);
\n\n=========================酒店入住情况查询菜单=======================\t\n\n\n"
按0:
返回\n"
按1:
登记入住\n"
case0:
GUI=MainUI;
GUI=CheckinUI;
GUI=HotelInfoUI;
voidshowCheckinUI()
Order*newOrder;
Room*newRoom=NULL;
//填写一个新的入住信息
CheckinInfo*newCheckinlnfo=NULL;
introomTypeNum;
intcountTypeNum;
time_ttimep;
\n\n===========================酒店入住登记菜单=========================\t\n\n\n"
newCheckinInfo=(CheckinInfo
*)malloc(sizeof(CheckinInfo));
*\t\t请输入姓名:
"
scanf("
%s"
(newCheckinlnfo->
name));
*\t\t请输入证件号:
scanf("
(newCheckinInfo->
id));
*\t\t请选择入住房型:
\n"
\t\t\t1.单人房\n\t\t\t2.双人房
\n\t\t\t3.大床房\n"
&
(roomTypeNum));
switch(roomTypeNum)//通过输入的数字对应房型
newCheckinlnfo->
roomType=Single;
roomType=Double;
roomType=Big;
*\t\t请选择计费方式:
\t\t\t1.按小时计费;
\n\t\t\t2.
按天数计费\n"
//通过输入的数字对应计费方式
countTypeNum);
switch(countTypeNum)
newCheckinInfo->
countType=Hour;
countType=Day;
printf("
//生成一个新的订单
newOrder=
(Order*)malloc(sizeof(Order));
newOrder->
checkinInfo=newCheckinInfo;
date=time(0);
switch(newCheckinlnfo->
roomType)
//通过房型获取房间
newRoom=getRoomByType(Single);
newRoom=getRoomByType(Double);
caseBig:
newRoom=getRoomByType(Big);
newOrder->
room=newRoom;
insertToOrderList(newOrder);
房间
为:
%d\n"
newOrder->
roomNum);
GUI=CheckinResultUI;
voidshowCheckinResultUI()
\n\n=========================
店入住登记确认菜
\t\t\t
************
\t\t\t\t\n\n"
\t\t\t*登记成功*\t\t\t\t\n"
按0:
GUI=CheckinResultUI;
voidshowOrderUI()
intamount;
Order*theOrder=NULL;
\n\n=========================酒店房间信息查询菜单=======================\t\n\n\n"
printf(-请输入房间号:
”);
if(roomNum<
0||roomNum>
100)
\n输入有误请重新输入"
else
theOrder=getOrderByRoomNum(roomNum);
printf("
房型:
);
switch(theOrder->
单人房\n"
双人房\n"
大床房\n"
printf(”计费方式:
switch(theOrder->
checkinlnfo->
countType
)
caseHour:
小时计费\n"
amount=(time(0)-theOrder->
date)
/3600+1;
已入住时间:
%d小时
amount);
caseDay:
天计费\n"
/(3600*24)+1;
%d天\n"
printf(”房
价:
%d\n"
theOrder->
price);
应支付:
%d\n\n"
amount*
theOrder->
\n\n=========================酒店房间信息查询菜单=======================\t\n\n\n"
按0:
printf(”按1:
结账退房\n"
GUI=CheckOutUI;
voidshowCheckOutUI()
酒店结账退房确认菜单
\t\t\t\t*
***********
\t\t\t\t\n"
结账成功
*\t\t\t\t\n"
n"
\n\n=========================酒店结账退房确认菜单=======================\t\n\n\n"
返回"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 代码