酒店管理系統(tǒng)代碼_第1頁
酒店管理系統(tǒng)代碼_第2頁
酒店管理系統(tǒng)代碼_第3頁
酒店管理系統(tǒng)代碼_第4頁
酒店管理系統(tǒng)代碼_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

#include #include #include#include#include/-結(jié)構(gòu)定義-typedef struct CheckinInformationchar name10; /姓名int id; /證件號int roomType; /房型int countType; /計費方式CheckinInfo;typedef struct HotelRoomint roomType; /房型int roomNum; /房號int checked; /入住情況int price; /房價Room;typedef struct RoomOrderCheckinInfo *checkinInfo; /入住信息long date; /入住時間Room * room; /房間信息Order;typedef struct HotelInfomationint checkinAmount; /已入住房數(shù)int singleRemainAmount; /單人房剩余房數(shù)int doubleRemainAmount; /雙人房剩余房數(shù)int bigRemainAmount; /大床房剩余房數(shù)HotelInfo;/-枚舉類型-enum MainUI,HotelInfoUI,CheckinUI,CheckinResultUI,OrderUI,CheckOutUI,Exit;/GUIenum Single,Double,Big;/Room Typeenum Hour,Day;/countType/-全局變量-int GUI = MainUI;Order* orderList100;/訂單數(shù)組Room* roomList100;/房間數(shù)組HotelInfo * hotelInfo = NULL;/酒店房間信息/-函數(shù)聲明-void initiallizeRoomList();void insertToOrderList(Order * order);Room* getRoomByType(int roomType);Order* getOrderByRoomNum(int roomNum);void showMainUI();void showHotelInfoUI();void showCheckinUI();void showCheckinResultUI();void showOrderUI();void showCheckOutUI();/-Main函數(shù)-void main() /主函數(shù)/初始化酒店房間信息hotelInfo = (HotelInfo *)malloc(sizeof(HotelInfo); hotelInfo - singleRemainAmount = 20;hotelInfo - doubleRemainAmount=40;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;case OrderUI:showOrderUI();break;case CheckOutUI:showCheckOutUI();break;default: break;/-函數(shù)定義-void initiallizeRoomList()/房間數(shù)組初始化,初始化的結(jié)果是讓roomList的數(shù)組有100個room指針,而且設(shè)置了相應(yīng)的值int i;Room*newRoom=NULL;for(i=0;ichecked=0; roomListi-price=110; roomListi-roomNum=i+1; roomListi-roomType=Single;for(i=20;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;/通過所選擇的房型獲取空房間,獲取房間后將房間信息改為已入住,并減少相應(yīng)房型的剩余房間數(shù)Room* getRoomByType(int roomType)int i;switch(roomType)case Single:for(i=0;ichecked = 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-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 = roomNum)return orderListi;void showMainUI()/顯示主界面,并接受輸入int chooseNum;system(cls);printf(nn=酒店房間登記與計費管理管理系統(tǒng)=tnnn);printf(*tttt1. 入住登記 tttt*n);printf(*tttt2. 查詢?nèi)胱∏闆r ttt*n);printf(*tttt3. 查詢當(dāng)前費用 ttt*n);printf(*tttt4. 結(jié)賬退房 tttt*n);printf(*tttt5. 退出程序 tttt*nnn);printf(nn=酒店房間登記與計費管理管理系統(tǒng)=tnnn);printf(請輸入相應(yīng)編號進入菜單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);printf(nn=酒店入住情況查詢菜單=tnnnn);printf(*ttt入住房間數(shù): %dtttt*n, hotelInfo-checkinAmount);printf(*ttt剩余房間數(shù): t);printf(單人房:%dtt*n,hotelInfo-singleRemainAmount);printf(*ttttt雙人房:%dtt*n,hotelInfo-doubleRemainAmount);printf(*ttttt大床房:%dtt*nn,hotelInfo-bigRemainAmount);printf(nn=酒店入住情況查詢菜單=tnnn);printf(按 0 :返回 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 countTypeNum;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,&(roomTypeNum);switch(roomTypeNum) /通過輸入的數(shù)字對應(yīng)房型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.按天數(shù)計費n); /通過輸入的數(shù)字對應(yīng)計費方式 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);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 = CheckinResultUI;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;void 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;elsetheOrder = getOrderByRoomNum(roomNum);printf(房型:);switch(theOrder-room-roomType)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小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論