ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.26KB ,
资源ID:4186689      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4186689.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(酒店管理系统代码.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

酒店管理系统代码.docx

1、酒店管理系统代码#include #include #include#include#include/-构造定义-typedef struct CheckinInformation char name10; / int id; /证件号int roomType; /房型int countType; /计费方式CheckinInfo;typedef struct HotelRoom int roomType; /房型int roomNum; /房号int checked; /入住情况int price; /房价Room;typedef struct RoomOrder CheckinInfo *

2、checkinInfo; /入住信息long date; /入住时间Room * room; /房间信息Order;typedef struct HotelInfomation int checkinAmount; /已入住房数int singleRemainAmount; /单人房剩余房数int doubleRemainAmount; /双人房剩余房数int bigRemainAmount; /大床房剩余房数HotelInfo;/-枚举类型-enum MainUI,HotelInfoUI,CheckinUI,CheckinResultUI,OrderUI,CheckOutUI,Exit;/G

3、UIenum Single,Double,Big;/Room Typeenum Hour,Day;/countType/-全局变量-int GUI = MainUI;Order* orderList100; /订单数组Room* roomList100; /房间数组HotelInfo * hotelInfo = NULL;/酒店房间信息/-函数声明-void initiallizeRoomList();void insertToOrderList(Order * order);Room* getRoomByType(int roomType);Order* getOrderByRoomNum(

4、int roomNum);void showMainUI();void showHotelInfoUI();void showCheckinUI();void showCheckinResultUI();void showOrderUI();void showCheckOutUI();/-Main函数-void main() /主函数/初始化酒店房间信息hotelInfo = (HotelInfo *)malloc(sizeof(HotelInfo); hotelInfo - singleRemainAmount = 20; hotelInfo - doubleRemainAmount=40;

5、 hotelInfo - bigRemainAmount=40; hotelInfo - checkinAmount=0; /初始化房间列表initiallizeRoomList(); /界面显示while(GUI != Exit) switch(GUI) case MainUI: showMainUI(); break; case HotelInfoUI: showHotelInfoUI(); break; case CheckinUI: showCheckinUI(); break; case CheckinResultUI: showCheckinResultUI(); break; c

6、ase OrderUI: showOrderUI(); break; case CheckOutUI: showCheckOutUI(); break; default: break; /-函数定义-void initiallizeRoomList() /房间数组初始化,初始化的结果是让roomList的数组有100个room指针,而且设置了相应的值int i; Room*newRoom=NULL; for(i=0;ichecked=0; roomListi-price=110; roomListi-roomNum=i+1; roomListi-roomType=Single; for(i=2

7、0;ichecked=0; roomListi-price=180; roomListi-roomNum=i+1; roomListi-roomType=Double; for(i=60;ichecked=0; roomListi-price=180; roomListi-roomNum=i+1; roomListi-roomType=Big; /通过所选择的房型获取空房间,获取房间后将房间信息改为已入住,并减少相应房型的剩余房间数Room* getRoomByType(int roomType) int i; switch(roomType) case Single: for(i=0;ich

8、ecked = 0) roomListi-checked=1; hotelInfo-singleRemainAmount - ; hotelInfo-checkinAmount+; return roomListi; break; case Double: for(i=20;ichecked = 0) roomListi-checked=1; hotelInfo-doubleRemainAmount - ; hotelInfo-checkinAmount+; return roomListi; break; case Big: for(i=60;ichecked = 0) roomListi-

9、checked=1; hotelInfo-bigRemainAmount -; hotelInfo-checkinAmount+; return roomListi; break; /将订单放入订单列表void insertToOrderList(Order * order) int i; for( i = 0;i100;i+) if( orderListi =NULL ) orderListi = order; break; /通过房号查询订单Order* getOrderByRoomNum(int roomNum) int i; for(i=0;iroom-roomNum = roomNu

10、m) return orderListi; void showMainUI() /显示主界面,并承受输入int chooseNum; system(cls); printf(nn=酒店房间登记与计费管理管理系统=tnnn); printf(*tttt1. 入住登记 tttt*n); printf(*tttt2. 查询入住情况 ttt*n); printf(*tttt3. 查询当前费用 ttt*n); printf(*tttt4. 结账退房 tttt*n); printf(*tttt5. 退出程序 tttt*nnn); printf(nn=酒店房间登记与计费管理管理系统=tnnn); print

11、f(请输入相应编号进入菜单t); /承受输入scanf(%d,&chooseNum); switch(chooseNum) case 1: GUI = HotelInfoUI; break; case 2: GUI = HotelInfoUI; break; case 3: GUI = OrderUI; break; case 4: GUI = OrderUI; break; case 5: Sleep(3000); GUI = Exit; break; default: break; void showHotelInfoUI() int chooseNum; system(cls); pri

12、ntf(nn=酒店入住情况查询菜单=tnnnn); printf(*ttt入住房间数: %dtttt*n, hotelInfo-checkinAmount); printf(*ttt剩余房间数: t); printf(单人房:%dtt*n,hotelInfo-singleRemainAmount); printf(*ttttt双人房:%dtt*n,hotelInfo-doubleRemainAmount); printf(*ttttt大床房:%dtt*nn,hotelInfo-bigRemainAmount); printf(nn=酒店入住情况查询菜单=tnnn); printf(按 0 :返

13、回 n); printf(按 1 : 登记入住n); scanf(%d,&chooseNum); switch(chooseNum) case 0: GUI = MainUI; break; case 1: GUI = CheckinUI; break; default: GUI = HotelInfoUI; break; void showCheckinUI() Order * newOrder; Room* newRoom = NULL; /填写一个新的入住信息CheckinInfo * newCheckinInfo = NULL; int roomTypeNum; int countTy

14、peNum; time_t timep; system(cls); printf(nn=酒店入住登记菜单=tnnn); newCheckinInfo = ( CheckinInfo * )malloc(sizeof(CheckinInfo); printf(*tt请输入姓名:); scanf(%s, &(newCheckinInfo-name) ); printf(*tt请输入证件号:); scanf(%d, &(newCheckinInfo-id) ); printf(*tt请选择入住房型:n); printf(ttt1.单人房nttt2.双人房nttt3.大床房n); scanf(%d,&

15、(roomTypeNum); switch(roomTypeNum) /通过输入的数字对应房型 case 1: newCheckinInfo-roomType = Single; break; case 2: newCheckinInfo-roomType = Double; break; case 3: newCheckinInfo-roomType = Big; break; default: newCheckinInfo-roomType = Single; break; printf(*tt请选择计费方式:n); printf(ttt1.按小时计费; nttt2.按天数计费n); /通

16、过输入的数字对应计费方式 scanf(%d,&countTypeNum); switch(countTypeNum) case 1: newCheckinInfo-countType = Hour; break; case 2: newCheckinInfo-countType = Day; break; printf(nn=酒店入住登记菜单=tnnn); /生成一个新的订单newOrder = ( Order* )malloc(sizeof(Order); newOrder - checkinInfo = newCheckinInfo; newOrder - date = time(0);

17、switch(newCheckinInfo-roomType) /通过房型获取房间 case Single: newRoom = getRoomByType(Single); break; case Double: newRoom=getRoomByType(Double); break; case Big : newRoom=getRoomByType(Big); break; newOrder-room = newRoom; insertToOrderList(newOrder); printf(房间号为:%dn,newOrder-room-roomNum); GUI = CheckinR

18、esultUI;void showCheckinResultUI() int chooseNum; printf(nn=酒店入住登记确认菜单=tnnn); printf(ttt*ttttn); printf(ttt* 登记成功 *ttttn); printf(ttt*ttttnn); printf(nn=酒店入住登记确认菜单=tnnn); printf(按 0 :返回 n); scanf(%d,&chooseNum); switch(chooseNum) case 0: GUI = MainUI; break; default: GUI = CheckinResultUI; break; vo

19、id showOrderUI() int roomNum; int chooseNum; int amount; Order * theOrder = NULL; system(cls); printf(nn=酒店房间信息查询菜单=tnnn); printf(请输入房间号:); scanf(%d,&roomNum); if (roomNum100) printf(n 输入有误请重新输入) ; GUI = OrderUI; else theOrder = getOrderByRoomNum(roomNum); printf(房型:); switch(theOrder-room-roomType)

20、 case Single: printf(单人房n);break; case Double: printf(双人房n);break; case Big: printf(大床房n);break; printf(计费方式:); switch(theOrder-checkinInfo-countType ) case Hour: printf(小时计费n); amount = (time(0) - theOrder-date) / 3600 +1; printf(已入住时间:%d小时n,amount); break; case Day: printf(天计费n); amount = (time(0)

21、 - theOrder-date) / (3600*24) +1; printf(已入住时间:%d天n,amount); break; printf(房价:%dn,theOrder-room-price); printf(应支付:%dnn,amount * theOrder-room-price); printf(nn=酒店房间信息查询菜单=tnnn); printf(按0:返回n); printf(按1:结账退房n); scanf(%d,&chooseNum); switch(chooseNum) case 0: GUI = MainUI; break; case 1: GUI = Chec

22、kOutUI; break; default: break; void showCheckOutUI() int chooseNum; printf(nn=酒店结账退房确认菜单=tnnn); printf(tttt*ttttn); printf(tttt* 结账成功 *ttttn); printf(tttt*ttttnn); printf(nn=酒店结账退房确认菜单=tnnn); printf(按0:返回); scanf(%d,&chooseNum); switch(chooseNum) case 0: GUI = MainUI; break; default: GUI = CheckOutUI; break;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1