版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
酒店管理系统代码
#include<windows.h>#include<dos.h>#include<stdio.h>#include<stdlib.h>#include<time.h>typedefstructCheckininformation〃证〃房型〃计费方式charname[10];intid;〃证〃房型〃计费方式introomType;intcountType;}Checkininfo;typedefstructHotelRoomintroomType;〃房型introomNum;〃房号intchecked;〃入住情况intprice;//房价)Room;typedefstructRoomOrderCheckininfo*checkinlnfo;息//入住信long//入住时间Room*room;房间信息}Order;date;//typedefstructHotellnfomation(intcheckinAmount;〃已入住房数intsingleRemainAmount:房剩余房数intdoubleRemainAmount;〃单人//双人房剩余房数〃大床intbigRemainAmount;房剩余房数)Hotelinfo;//枚举类enum{MainUI,HotellnfoUI,CheckinUI,CheckinResuItUI,OrderUI,CheckOutUI,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();//--
数一
voidvoidshowCheckOutUI();Main函main()//--
数一
void//初始化酒店房间信息hotelInfo(HotelInfo*)malloc(sizeof(HotelInfo));hotelInfohotelinfo->singleRemainAmount=20;hotelinfo->doubleRemainAmount=40;hotelinfo->bigRemainAmount=40;hotelinfo->checkinAmount=0;〃初始化房间列表initiallizeRoomList();〃界面显示while(GUI!=Exit){switch(GUI){caseMainUI:showMainUI();break;caseHotelInfoUI:showHotelInfoUI();break;caseCheckinUI:showCheckinUI();break;caseCheckinResultUI:showCheckinResultUI();break;caseOrderUI:showOrderUI();break;caseCheckOutUI:showCheckOutUI();break;default:break;}}}//函数定义—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=0;roomList[i]->price=110;roomList[i]->roomNum=i+1;roomList[i]->roomType=Single;}for(i=20;i<60;i++)//双人房房间信息初始化{newRoom=(Room*)malloc(sizeof(Room));roomList[i]=newRoom;roomList[i]->checked=0;roomList[i]->price=180;roomList[i]->roomNum=i+1;roomList[i]->roomType=Double;}for(i=60;i<100;i++)//大床房房间信息初始化{newRoom=(Room*)malloc(sizeof(Room));roomList[i]=newRoom;roomList[i]->checked=0;roomList[i]->price=180;roomList[i]->roomNum=i+1;roomList[i]->roomType=Big;}}〃通过所选择的房型获取空房间,获取房间后将房间信息改为巳入住,并减少相应房型的剩余房间数Room*getRoomByType(introomType){inti;switch(roomType){caseSingle:for(i=0;i<20;i++){if(roomList[i]->checked==0){roomList[i]->checked=1;hotelInfo->singleRemainAmount--;hotelInfo->checkinAmount++;returnroomList[i];}}break;caseDouble:for(i=20;i<60;i++)if(roomList[i]->checked==0)roomList[i]->checked=1;hotelInfo->doubleRemainAmount;;hotelInfo->checkinAmount++;returnroomList[i];}}break;caseBig:for(i=60;i<100;i++){if(roomList[i]->checked==0){roomList[i]->checked=1;hotelInfo->bigRemainAmount--;hotelInfo->checkinAmount++;returnroomList[i];break;〃将订单放入订单列表voidinsertToOrderList(Order*order){inti;for(i=0;i<100;i++){if(orderList[i]==NULL){orderList[i]=order;break;}〃通过房号查询订单Order*getOrderByRoomNum(introomNum){inti;for(i=0;i<100;i++){if(orderList[i]->room->roomNumroomNum){returnorderList[i];voidshowMainUI(){〃显示主界面,并接受输入intchooseNum;system("cls");printf("\n\n=============酒店房间登记与计费管理管理系统
printf("*\t\t\t\t1.\t\t\t\t*\n");printf("*\t\t\t\t1.\t\t\t\t*\n");printf("*\t\t\t\t2.\t\t\t*\n");printf("*\t\t\t\t3.\t\t\t*\n");printf("*\t\t\t\t4.\t\t\t\t*\n");printf("*\t\t\t\t5.\t\t\t\t*\n\n\n");\t\n\n\n");入住登记查询入住情况查询当前费用结账退房退出程序printf("\n\n=============酒店房间登记与计费管理管理系统============\t\n\n\n");printf("请输入相应编号进入菜单\t");〃接受输入scanf("%d",&chooseNum);switch(chooseNum)case1:GUI=HotelInfoUI;break;case2:GUI=HotelInfoUI;break;case3:GUI=OrderUI;break;case4:GUI=OrderUI;break;case5:Sleep(3000);GUI=Exit;break;default:break;voidshowHotelInfoUI()intchooseNum;system("cls");printf("\n\n======================酒店入住情况查询菜单=======================\t\n\n\n\n");printf("*\t\t\t入住房间数:%d\t\t\t\t*\n",hotelInfo->checkinAmount);printf("*\t\t\t剩余房间数:\t");printf("单人房:%d\t\t*\n",hotelInfo->singleRemainAmount);printf("*\t\t\t\t\t双人房:%d\t\t*\n",hotelInfo->doubleRemainAmount);printf("*\t\t\t\t\t大床房:%d\t\t*\n\n",hotelInfo->bigRemainAmount);printf("\n\n=======================酒店入住情况查询菜单============\t\n\n\n");printf("按0:返回\n");printf("按1:登记入住\n");scanf("%d”,&chooseNum);switch(chooseNum){case0:GUI=MainUI;break;case1:GUI=CheckinUI;break;default:GUI=HotelInfoUI;break;}}voidshowCheckinUI()Order*newOrder;Room*newRoom=NULL;//填写一个新的入住信息CheckinInfo*newCheckinInfo=NULL;introomTypeNum;intcountTypeNum;time_ttimep;system("cls");printf("\n\n==============酒店入住登记菜单======================\t\n\n\n");newCheckinInfo=(CheckinInfo*)malloc(sizeof(CheckinInfo));printf("*\t\t请输入姓名:”);scanf("%s",&(newCheckinInfo->name));printf("*\t\t请输入证件号:");scanf("%d”,&(newCheckinInfo->id));printf("*\t\t请选择入住房型:\n");printf("\t\t\t1.单人房\n\t\t\t2.双人房\n\t\t\t3.大床房\n");scanf("%d”,&(roomTypeNum));switch(roomTypeNum)〃通过输入的数字对应房型case1:newCheckinInfo->roomType=Single;break;case2:newCheckinInfo->roomType=Double;break;case3:newCheckinInfo->roomType=Big;break;default:newCheckinInfo->roomType=Single;break;printf("*\t\t请选择计费方式:\n");printf("\t\t\t1.按小时计费;\n\t\t\t2.按天数计费\n〃);//通过输入的数字对应计费方式scanf("%d”,&countTypeNum);switch(countTypeNum){case1:newCheckinInfo->countType=Hour;break;case2:newCheckinInfo->countType=Day;break;printf("\n\n==============酒店入住登记菜单=============\t\n\n\n");〃生成一个新的订单newOrder=(Order*)malloc(sizeof(Order));newOrder->checkinInfo=newCheckinInfo;newOrder->date=time(0);switch(newCheckinInfo->roomType)〃通过房型获取房间caseSingle:newRoom=getRoomByType(Single);break;caseDouble:newRoom=getRoomByType(Double);break;caseBig:newRoom=getRoomByType(Big);break;}newOrder->room=newRoom;insertToOrderList(newOrder);printf("房间号为:%d\n”,newOrder->room->roomNum);GUI=CheckinResultUI;:IIP网二Ifio:09SU0}(inn^ssooqo)qoq.iMS:(uinNOSOoq。矿〃p%〃月典osJ(“u\BIB:0潺“)Jiupd:(“u\u\u\4\===================寅毒*股理幕丑V早M=============U\U\")J^UTJd〃u\u\]\i\i\]\************i\]\]\〃)j!id-("U\]\i\i\]\************i\]\]\")jq.uTJd:(“u\u\u\n===================寅毒来映害募町丫早M=============U\U\〃)J^UTJdiinn^asooqoq.ui()imins叫u!H源q^MoqspioAdefault:GUI=CheckinResultUI;break;voidshowOrderUI()introomNum;intchooseNum;intamount;Order*theOrder=NULL;system("cls");printf("\n\n=======================酒店房间信息查询菜单=======================\t\n\n\n");printf("请输入房间号:");scanf("%d",&roomNum);if(roomNum<0||roomNum>100)printf("\n输入有误请重新输入");GUI=OrderUI;elsetheOrder=getOrderByRoomNum(roomNum);printf("房型:");switch(theOrder->room->roomType){caseSingle:printf("单人房\n");break;caseDouble:printf("双人房\n");break;caseBig:printf("大床房\n");break;}printf("计费方式:”);switch(theOrder->checkinInfo->countType){caseHour:printf("小时计费\n");amount=(time(0)-theOrder->date)/3600+1;printf("已入住时间:%d小时\n”,amount);break;caseDay:printf("天计费\n");amount=(time(0)-theOrder->date)/(360
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽淮南市寿县职业中专学校机电专业职教高考教师招聘2人考试参考试题及答案解析
- 2026年安康市汉滨区第一医院招聘(17人)考试参考试题及答案解析
- 2026江苏扬州锦耀置业有限公司招聘专业工作人员1人考试参考题库及答案解析
- 2026鞍钢工程发展公司高校毕业生招聘(辽宁)考试备考题库及答案解析
- 2026日照银行见习人员招聘10人考试备考试题及答案解析
- 2026浙江台州恩泽医疗中心(集团)招聘高层次卫技人员51人考试参考题库及答案解析
- 北京市丰台区东铁匠营街道蒲黄榆社区卫生服务中心招聘1人考试参考试题及答案解析
- 2026云南保山市昌宁县融媒体中心招聘公益性岗位人员1人考试参考题库及答案解析
- 2026福建福州市闽侯县教育局研究生招聘44人考试参考试题及答案解析
- 2026年安徽医科大学临床医学院人才招聘124名考试参考题库及答案解析
- 2026秋招:澳森特钢集团试题及答案
- 哲学史重要名词解析大全
- 2026年宁夏黄河农村商业银行科技人员社会招聘备考题库及答案详解(易错题)
- 银行借款抵押合同范本
- DB37-T4975-2025分布式光伏直采直控技术规范
- 儿童糖尿病的发病机制与个体化治疗策略
- 脱硫废水零排放项目施工方案
- 2026年海南卫生健康职业学院单招综合素质考试题库参考答案详解
- 水泥产品生产许可证实施细则2025
- 急性心梗合并急性心衰护理
- 肺原位腺癌病理课件讲解
评论
0/150
提交评论