




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【精品文檔】如有侵權,請聯系網站刪除,僅供學習與交流C+版酒店管理程序代碼.精品文檔.程序代碼N:最終改進版代碼(利用結構體儲存多種類型的數據)好處:比數組能儲存更多類型的數據!#include<iostream>#include<string>#include<cstdlib> /常用函數庫 using namespace std;/*在c+中struct和類的區(qū)別在于struct不能有方法,所有成員是public的*/struct Roomint Number;int Price;int State;int days;string Name;string
2、 Phone;string ID;/room; 可以在聲明struct的時候聲明一個struct實例Room room80;class BookRoom /定義預定房間類 private:string cName; /顧客姓名int stayTime; /預定天數int roomType; /房間類型(1.標準單人間 2.大床房 3.標準雙人間 4. 套房)string phoneNum; / 預留手機號public: void setData() string name; int time; int type; string num; cout<<"您好,請輸入您的姓名
3、:"<<endl;cin>>name; cName=name;cout<<"預定天數為:"<<endl; cin>>time; stayTime=time;cout<<"想要預定的房間類型:1.標準單人間 100/天 2.大床房 200/天 3.標準雙人間 300/天 4.套房400/天"<<endl;cin>>type; roomType=type;cout<<"預留手機號:"<<endl;cin>
4、>num; phoneNum=num;void Book()cout<<"正在預定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (roomi.State=0) /房間無人占用且無人預定 roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;cout<<"預定成功
5、!房間號:"<<roomi.Number<<endl<<endl;roomi.State=1;break; /已被預訂 else cout<<roomi.Number<<"號房間已有人"<<endl;break;case 2:for(int i=20;i<40;i+) if(roomi.State=0) roomi.days=this->stayTime; roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.P
6、rice*=this->stayTime; cout<<"預定成功!房間號:"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"號房間已有人"<<endl;break;case 3:for(int i=40;i<60;i+)if(roomi.State=0) roomi.days=this->stayTime; roomi.Name=this->cN
7、ame;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime; cout<<"預定成功!房間號:"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"號房間已有人"<<endl;break;case 4:for(int i=60;i<80;i+)if(roomi.State=0) roomi.days=
8、this->stayTime; roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime; cout<<"預定成功!房間號:"<<roomi.Number<<endl<<endl;roomi.State=1; break;else cout<<roomi.Number<<"號房間已有人"<<endl;break;default:cout<<
9、"您輸入的房間類型有誤!"<<endl; class CheckIn /定義辦理入住類private:string cName;string cSex;string idNum; /身份證號 int check_inDate; /入住日期 int stayTime; int roomType; string phoneNum;public:void unbooked()string name;string sex;string idnum;int date;int time;int type;string num;cout<<"客戶姓名:&
10、quot;<<endl; cin>>name; cName=name;cout<<"客戶性別:"<<endl; cin>>sex; cSex=sex; cout<<"客戶身份證號:"<<endl; cin>>idnum; idNum=idnum;cout<<"入住日期:"<<endl; cin>>date; check_inDate=date;cout<<"占用天數:"&l
11、t;<endl; cin>>time;stayTime=time;cout<<"房間類型:1.標準單人間 100/天 2.大床房 200/天 3.標準雙人間 300/天 4.套房 400/天"<<endl; cin>>type;roomType=type;cout<<"客戶手機號:"<<endl; cin>>num; phoneNum=num;switch(this->roomType)case 1:for(int i=0;i<20;i+)if(room
12、i.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號:"<<roomi.Number<<endl<<endl;cout<<"請支付200元押金"<<endl<<endl;roomi.State=1;
13、break; else cout<<"抱歉,該房間類型沒有了"<<endl;break;case 2:for(int i=20;i<40;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號:"<<roomi
14、.Number<<endl<<endl;cout<<"請支付400元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,該房間類型沒有了"<<endl;break;case 3:for(int i=40;i<60;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneN
15、um;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號:"<<roomi.Number<<endl<<endl;cout<<"請支付600元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,該房間類型沒有了"<<endl;break;case 4:for(int i=60;i<8
16、0;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號:"<<roomi.Number<<endl<<endl;cout<<"請支付800元押金"<<endl<<endl;ro
17、omi.State=1;break; else cout<<"抱歉,該房間類型沒有了"<<endl;break;default:cout<<"您輸入的房間類型有誤!"<<endl; void booked()string compareItem;string id_num;cout<<"請輸入您的姓名或者手機號:"<<endl;cin>>compareItem;for(int i=0;i<80;i+)if(roomi.Name=compareIt
18、em|roomi.Phone=compareItem)cout<<"驗證成功!請支付:"<<(roomi.Price*2)<<"元押金"<<endl;cout<<"請登記客戶的身份證號:"<<endl;cin>>id_num;idNum=id_num;roomi.ID=idNum;cout<<"房間號為:" <<roomi.Number<<endl<<"歡迎入住!"
19、<<endl<<endl;break;class checkOutprivate:string name;int number;int days;int price;public:void checkout()int expense;cout<<"請輸入房間號:"<<endl; cin>>number;cout<<"請輸入姓名:"<<endl; cin>>name;cout<<"請輸入實際住宿天數:"<<endl;
20、cin>>days; for(int i=0;i<80;i+)if(roomi.Name=name) && (roomi.Number=number)expense=days*(roomi.Number/100*100);cout<<"房間號為"<<roomi.Number<<"的房間實際消費為"<<expense<<"元"<<endl;cout<<"押金為:"<<roomi.Price
21、<<endl;if(expense>roomi.Price) cout<<"請補交"<<(expense-roomi.Price)<<"元"<<endl;else cout<<"退回:"<<(roomi.Price-expense)<<"元"<<endl; break;else cout<<roomi.Number<<"號房不符合"<<endl;c
22、out<<"房費核算清后請安任意鍵繼續(xù)"<<endl<<endl; system("pause");cout<<"感謝入住本酒店,歡迎下次光臨!"<<endl<<endl;void menu()cout<<"歡迎使用酒店管理系統!"<<endl;cout<<"請選擇:"<<endl;cout<<"1.預定房間"<<endl;cout&
23、lt;<"2.辦理入住"<<endl;cout<<"3.退房結賬"<<endl;cout<<"4.退出系統"<<endl;void init()int n=101;for(int i=0;i<20;i+)roomi.Number=n+;roomi.Price=100;roomi.State=0;n=201; for(int i=20;i<40;i+)roomi.Number=n+;roomi.Price=200;roomi.State=0;n=301;for
24、(int i=40;i<60;i+)roomi.Number=n+;roomi.Price=300;roomi.State=0;n=401;for(int i=60;i<80;i+)roomi.Number=n+;roomi.Price=400;roomi.State=0;int main(void)init(); int flag=1; while(flag)menu();int c;cin>>c; switch(c)case 1: BookRoom*a=new BookRoom; a->setData(); a->Book(); break; case
25、2: CheckIn*b=new CheckIn; cout<<"您有預定嗎? 1.已預定 2.未預定"<<endl; int c; cin>>c; switch(c) case 1: b->booked(); break;case 2:b->unbooked();break;default:cout<<"輸入有誤!"<<endl; break;case 3: checkOut *c=new checkOut; c->checkout(); break;case 4: cout
26、<<"謝謝使用,再見!"<<endl; flag=0; break; default:cout<<"輸入有誤!"<<endl; return 0;O:最初廢除版(利用數組)因為數組只能簡單的儲存一種類型的數據,例如字符和數字。而酒店管理系統這種情境,一個房間要儲存多種數據,例如客戶姓名、客戶性別、預訂房間號、客戶預留手機號、客戶占用天數、客戶身份證號以及押金和實際花銷等。因此我選用了結構體來儲存。以下是Old version:#include<iostream>#include<strin
27、g>using namespace std;int room_num420; /定義數組,共4個樓層,每個樓層20個房間,一層一類型class BookRoom /定義預定房間類 private:string cName; /顧客姓名int stayTime; /預定天數int roomType; /房間類型(1.標準單人間 2.大床房 3.標準雙人間 4. 套房)string phoneNum; / 預留手機號(也可使用longint) public: void setData() string name; int time; int type; string num; cout<
28、;<"您好,請輸入您的姓名:"<<endl; cin>>name; cName=name;cout<<"預定天數為:"<<endl; cin>>time; stayTime=time;cout<<"想要預定的房間類型:1.標準單人間 2.大床房 3.標準雙人間 4. 套房"<<endl; cin>>type; roomType=type;cout<<"預留手機號:"<<endl; cin&g
29、t;>num; phoneNum=num;void Book()cout<<"正在預定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (room_num1i=0) /房間無人占用且無人預定 cout<<"預定成功!房間號:10"<<i+1<<endl;room_num1i=1;break; /已被預訂 else cout<<"該類型房間沒有了"<<endl; b
30、reak;case 2:for(int i=0;i<20;i+) if(room_num2i=0) cout<<"預定成功!房間號:20"<<i+1<<endl;room_num2i=1; break;else cout<<"該類型房間沒有了"<<endl; break;case 3:for(int i=0;i<20;i+)if(room_num3i=0) cout<<"預定成功!房間號:30"<<i+1<<endl;room_
31、num3i=1; break;else cout<<"該類型房間沒有了"<<endl; break;case 4:for(int i=0;i<20;i+)if(room_num4i=0) cout<<"預定成功!房間號:40"<<i+1<<endl;room_num4i=1; break;else cout<<"該類型房間沒有了"<<endl; break;default:cout<<"您輸入的房間類型有誤!"&l
32、t;<endl; class Checkin /定義辦理入住類private:string cName;string cSex;string cId; /身份證號 string phoneNum;int check_inDate; /入住時間 int stayTime;int Room_num;public:void setData()string name;string sex;string id;string num;int date;int time;int room_num;cout<<"客戶姓名:"<<endl;cin>>
33、name;cName=name;cout<<"性別:"<<endl;cin>>sex;cSex=sex;cout<<"身份證號:"<<endl;cin>>id;cId=id;cout<<"手機號:"<<endl;cin>>num;phoneNum=num;cout<<"登記入住時間:"<<endl;cin>>date;check_inDate=date;cout<<"入住天數:"<<endl;cin>>time;stayTime=time;cout<<"房間號:"<<endl;cin>>room_num;Room_num=room_num; void Check(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西華師范大學《成本會計模擬》2023-2024學年第二學期期末試卷
- 華南理工大學《民用建筑施工概論》2023-2024學年第二學期期末試卷
- 浙江藝術職業(yè)學院《VS測試與可測性設計》2023-2024學年第二學期期末試卷
- 云南水利水電職業(yè)學院《社群營銷》2023-2024學年第二學期期末試卷
- 山東外貿職業(yè)學院《植物化學保護教學實習》2023-2024學年第二學期期末試卷
- 廣州鐵路職業(yè)技術學院《數學課程標準與教學設計》2023-2024學年第二學期期末試卷
- 哈爾濱廣廈學院《傳媒產業(yè)管理》2023-2024學年第二學期期末試卷
- 湖北中醫(yī)藥大學《創(chuàng)新創(chuàng)業(yè)項目實踐》2023-2024學年第二學期期末試卷
- 陜西財經職業(yè)技術學院《教學藝術》2023-2024學年第二學期期末試卷
- 廣州理工學院《跨文化管理創(chuàng)新》2023-2024學年第二學期期末試卷
- 新疆克州大學生鄉(xiāng)村醫(yī)生專項計劃招聘考試真題2024
- 百世快運合同協議書
- 六一兒童節(jié)英語介紹課件
- 中科曙光2025測評
- 地域文化(專)-終結性考試-國開(SC)-參考資料
- 公司應急救援物資臺賬
- 超限梁板支撐架專項施工方案(濱州醫(yī)院)
- 最新中山市中小學校情況一覽表
- 地理信息安全在線培訓考試-填空題
- 多介質過濾器計算書
- 常用鋼制管件彎頭、三通、異徑管、管帽理論重量體積表
評論
0/150
提交評論