優(yōu)選酒店管理優(yōu)選星級(jí)酒店管理系統(tǒng)代碼_第1頁(yè)
優(yōu)選酒店管理優(yōu)選星級(jí)酒店管理系統(tǒng)代碼_第2頁(yè)
優(yōu)選酒店管理優(yōu)選星級(jí)酒店管理系統(tǒng)代碼_第3頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、#include <windows.h>#include <dos.h>#include<stdio.h>#include<stdlib.h>#include<time.h>/結(jié)構(gòu)定typedef struct CheckinInformation char name10;/int id;/int roomType;/int countType;/CheckinInfo;姓名證件號(hào)房型計(jì)費(fèi)方式typedef struct HotelRoomint roomType;/int roomNum;/int checked;/int pric

2、e;/Room;房型入住情況房?jī)r(jià)/ 已入住房數(shù)/ 單人房剩余房數(shù)/ 雙人房剩余房數(shù)/ 大床房剩余房數(shù)枚舉類型 typedef struct RoomOrderCheckinInfo *checkinInfo; long date;Room * room;Order;typedef struct HotelInfomation int checkinAmount;int singleRemainAmount;int doubleRemainAmount; int bigRemainAmount;HotelInfo;/ 入住信息/ 入住時(shí)間/ 房間信息enum MainUI,HotelInfoUI

3、,CheckinUI,CheckinResultUI,OrderUI,CheckOutUI,Exit;/GUI enum 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*

4、 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、gt; 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: showChe

6、ckinUI(); break;case CheckinResultUI: showCheckinResultUI(); break;case OrderUI: showOrderUI(); break;case CheckOutUI: showCheckOutUI(); break;default:break;/ 函數(shù)定義 void initiallizeRoomList()/ 房間數(shù)組初始化, 初始化的結(jié)果是讓 roomList 的數(shù)組有 100 個(gè) room 指針,而且設(shè)置了相應(yīng) 的值int i;Room*newRoom=NULL;for(i=0;i<20;i+) / 單人房房間信

7、息初始化newRoom = ( Room* )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->pr

8、ice=180;roomListi->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;/ 通過(guò)所選擇的房型獲取空房間, 獲取房間后將房間信息改為已入住, 并減少相應(yīng)房型的

9、剩余房間 數(shù)Room* getRoomByType(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)r

10、oomListi->checked=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

11、 insertToOrderList(Order * order)int i;for( i = 0;i<100;i+)if( orderListi =NULL )orderListi = order; break;/ 通過(guò)房號(hào)查詢訂單Order* getOrderByRoomNum(int roomNum)int i;for(i=0;i<100;i+)if( orderListi->room->roomNum = roomNum) return orderListi;void showMainUI()/ 顯示主界面,并接受輸入int chooseNum;system(&

12、quot;cls");printf("nn= 酒 店 房 間 登 記 與 計(jì) 費(fèi) 管 理 管 理 系 統(tǒng) =tnnn");printf("*tttt1.入住登記 tttt*n");printf("*tttt2.查詢?nèi)胱∏闆r ttt*n");printf("*tttt3.查詢當(dāng)前費(fèi)用 ttt*n");printf("*tttt4.結(jié)賬退房 tttt*n");printf("*tttt5.退出程序 tttt*nnn");printf("nn= 酒 店 房 間

13、登 記 與 計(jì) 費(fèi) 管 理 管 理 系 統(tǒng)=tnnn"); printf(" 請(qǐng)輸入相應(yīng)編號(hào)進(jìn)入菜單 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: br

14、eak;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("*t

15、tttt雙人房: %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

16、0:GUI = MainUI; break;case 1:GUI = CheckinUI; break;default:GUI = HotelInfoUI; break;void showCheckinUI()Order * newOrder;Room* newRoom = NULL;/ 填寫(xiě)一個(gè)新的入住信息CheckinInfo * newCheckinInfo = NULL; int roomTypeNum;int countTypeNum;time_t timep;system("cls");printf("nn= 酒 店 入 住 登 記 菜 單 =tnnn

17、");newCheckinInfo = ( CheckinInfo * )malloc(sizeof(CheckinInfo);printf("*tt 請(qǐng)輸入姓名 :");scanf("%s", &(newCheckinInfo->name) );printf("*tt請(qǐng)輸入證件號(hào) :");scanf("%d", &(newCheckinInfo->id) );printf("*tt請(qǐng)選擇入住房型 :n");printf("ttt1.單人房 ntt

18、t2. 雙人房 nttt3. 大床房 n");scanf("%d",&(roomTypeNum);switch(roomTypeNum)/通過(guò)輸入的數(shù)字對(duì)應(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;pri

19、ntf("*tt 請(qǐng)選擇計(jì)費(fèi)方式 :n");printf("ttt1.按小時(shí)計(jì)費(fèi) ; nttt2. 按天數(shù)計(jì)費(fèi) n");/通過(guò)輸入的數(shù)字對(duì)應(yīng)計(jì)費(fèi)方式scanf("%d",&countTypeNum);switch(countTypeNum)case 1:newCheckinInfo->countType = Hour;break;case 2:newCheckinInfo->countType = Day;break;printf("nn= 酒 店 入 住 登 記 菜 單 =tnnn");/ 生

20、成一個(gè)新的訂單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);

21、break; newOrder->room = newRoom; insertToOrderList(newOrder);printf(" 房間號(hào)為 :%dn",newOrder->room->roomNum); GUI = CheckinResultUI;void showCheckinResultUI()int chooseNum; printf("nn/酒店通過(guò)房型獲取房間住登記確認(rèn)菜單=tnnn"); printf("ttt*ttttn"); printf("ttt* 登記成功 *ttttn&quo

22、t;); printf("ttt*ttttnn"); printf("nn=酒店住登記確認(rèn)菜單=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 = NU

23、LL;system("cls");菜單printf("nn= 酒 店 房 間 信 息 查 詢 =tnnn");printf(" 請(qǐng)輸入房間號(hào) :");scanf("%d",&roomNum);if (roomNum<0 | roomNum>100)printf("n 輸入有誤請(qǐng)重新輸入 ") ;GUI = OrderUI;elsetheOrder = getOrderByRoomNum(roomNum);printf(" 房型: ");switch(the

24、Order->room->roomType)case Single:printf(" 單人房 n");break;case Double:printf(" 雙人房 n");break;case Big:printf(" 大床房 n");break;printf(" 計(jì)費(fèi)方式: "); switch(theOrder->checkinInfo->countType ) case Hour:printf(" 小時(shí)計(jì)費(fèi) n");amount = (time(0) - theOrder->date) / 3600 +1;prin tf("已入住時(shí)間:d 小時(shí) n",amou nt);break;case Day:printf(" 天計(jì)費(fèi) n");amoun

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論