酒店管理系统代码_第1页
酒店管理系统代码_第2页
酒店管理系统代码_第3页
酒店管理系统代码_第4页
酒店管理系统代码_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

酒店管理系统代码

#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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论