




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、#include <windows.h>#include <dos.h>#include<stdio.h>#include<stdlib.h>#include<time.h>/-結(jié)構(gòu)定義-typedef struct CheckinInformationchar name10; /姓名int id; /證件號int roomType; /房型int countType; /計費方式CheckinInfo;typedef struct HotelRoomint roomType; /房型int roomNum; /房號int check
2、ed; /入住情況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,
3、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 * orde
4、r);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
5、 -> 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
6、();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;i<20;i+) /單人房房間信息初始化 newRoom = ( Room*
7、 )malloc(sizeof(Room);roomListi = newRoom; roomListi->checked=0; roomListi->price=110; roomListi->roomNum=i+1; roomListi->roomType=Single;for(i=20;i<60;i+) /雙人房房間信息初始化newRoom = ( Room* )malloc(sizeof(Room);roomListi = newRoom; roomListi->checked=0; roomListi->price=180; roomList
8、i->roomNum=i+1; roomListi->roomType=Double;for(i=60;i<100;i+) /大床房房間信息初始化 newRoom = ( Room* )malloc(sizeof(Room);roomListi = newRoom; roomListi->checked=0; roomListi->price=180; roomListi->roomNum=i+1; roomListi->roomType=Big;/通過所選擇的房型獲取空房間,獲取房間后將房間信息改為已入住,并減少相應(yīng)房型的剩余房間數(shù)Room* get
9、RoomByType(int roomType)int i;switch(roomType)case Single:for(i=0;i<20;i+)if( roomListi->checked = 0)roomListi->checked=1;hotelInfo->singleRemainAmount - ;hotelInfo->checkinAmount+;return roomListi;break;case Double:for(i=20;i<60;i+)if( roomListi->checked = 0)roomListi->check
10、ed=1;hotelInfo->doubleRemainAmount - ;hotelInfo->checkinAmount+;return roomListi;break;case Big:for(i=60;i<100;i+)if( roomListi->checked = 0)roomListi->checked=1;hotelInfo->bigRemainAmount -;hotelInfo->checkinAmount+;return roomListi;break;/將訂單放入訂單列表void insertToOrderList(Order
11、* order)int i;for( i = 0;i<100;i+)if( orderListi =NULL )orderListi = order;break;/通過房號查詢訂單Order* getOrderByRoomNum(int roomNum)int i;for(i=0;i<100;i+)if( orderListi->room->roomNum = roomNum)return orderListi;void showMainUI()/顯示主界面,并接受輸入int chooseNum;system("cls");printf("
12、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)編號進
13、入菜單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");pr
14、intf("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大床房:%dt
15、t*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 showCheckin
16、UI()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("%
17、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
18、->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",&cou
19、ntTypeNum);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(new
20、CheckinInfo->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 = Che
21、ckinResultUI;void showCheckinResultUI()int chooseNum;printf("nn=酒店入住登記確認(rèn)菜單=tnnn");printf("ttt*ttttn");printf("ttt* 登記成功 *ttttn");printf("ttt*ttttnn");printf("nn=酒店入住登記確認(rèn)菜單=tnnn"); printf("按 0 :返回 n");scanf("%d",&chooseNum);swi
22、tch(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 (roomNum<0 |
23、 roomNum>100) 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小時n",amount);break;case Day:printf("天計費n")
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年植物促生菌劑項目資金需求報告代可行性研究報告
- 2024年原油加工量項目資金籌措計劃書代可行性研究報告
- 深入探討計算機二級Web考試復(fù)習(xí)重點試題及答案
- 抖音直播電商合作權(quán)益分配與售后服務(wù)協(xié)議
- 網(wǎng)紅面包品牌品牌授權(quán)及產(chǎn)品研發(fā)與技術(shù)支持合作協(xié)議
- 職業(yè)技能培訓(xùn)機構(gòu)教練員知識產(chǎn)權(quán)保護聘用合同
- 高端生物合成研究員勞動合同
- 2025年中國半導(dǎo)體膠膜行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 港口集裝箱堆場管理與運營承包協(xié)議
- 高端生物醫(yī)藥研究員全職聘用與研發(fā)成果轉(zhuǎn)化優(yōu)先權(quán)合同
- 技術(shù)學(xué)徒合同協(xié)議書
- 語文教學(xué)法與評價2025年試卷及答案
- 人工智能在醫(yī)療領(lǐng)域的測試卷
- 《生態(tài)環(huán)境的密碼:竺可楨的科學(xué)研究課件》
- 車位回購協(xié)議書范本
- 中國的耕地與糧食安全課件高二下學(xué)期地理魯教版(2019)選擇性必修3
- 2025年服裝進貨合同范本下載8篇
- 勞務(wù)糾紛案例分析:提供勞務(wù)者受害責(zé)任糾紛
- 2024年江蘇省寶應(yīng)縣事業(yè)單位公開招聘緊缺人才37名筆試題帶答案
- 保險公司保全試題及答案
- 交通過程中的大數(shù)據(jù)應(yīng)用試題及答案
評論
0/150
提交評論