C++版酒店管理程序代碼.docx_第1頁
C++版酒店管理程序代碼.docx_第2頁
C++版酒店管理程序代碼.docx_第3頁
C++版酒店管理程序代碼.docx_第4頁
C++版酒店管理程序代碼.docx_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序代碼N:最終改進版代碼(利用結構體儲存多種類型的數(shù)據(jù))好處:比數(shù)組能儲存更多類型的數(shù)據(jù)!#include#include#include /常用函數(shù)庫 using namespace std;/*在c+中struct和類的區(qū)別在于struct不能有方法,所有成員是public的*/struct Roomint Number;int Price;int State;int days;string Name;string Phone;string ID;/room; 可以在聲明struct的時候聲明一個struct實例Room room80;class BookRoom /定義預定房間類 private:string cName; /顧客姓名int stayTime; /預定天數(shù)int roomType; /房間類型(1.標準單人間 2.大床房 3.標準雙人間 4. 套房)string phoneNum; / 預留手機號public: void setData() string name; int time; int type; string num; cout您好,請輸入您的姓名:name; cName=name;cout預定天數(shù)為:time; stayTime=time;cout想要預定的房間類型:1.標準單人間 100/天 2.大床房 200/天 3.標準雙人間 300/天 4.套房400/天type; roomType=type;cout預留手機號:num; phoneNum=num;void Book()cout正在預定.roomType)case 1:for(int i=0;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;cout預定成功!房間號:roomi.Numberendlendl;roomi.State=1;break; /已被預訂 else coutroomi.Number號房間已有人endl;break;case 2:for(int i=20;istayTime; roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime; cout預定成功!房間號:roomi.Numberendlendl;roomi.State=1; break; else coutroomi.Number號房間已有人endl;break;case 3:for(int i=40;istayTime; roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime; cout預定成功!房間號:roomi.Numberendlendl;roomi.State=1; break; else coutroomi.Number號房間已有人endl;break;case 4:for(int i=60;istayTime; roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime; cout預定成功!房間號:roomi.Numberendlendl;roomi.State=1; break;else coutroomi.Number號房間已有人endl;break;default:cout您輸入的房間類型有誤!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客戶姓名:name; cName=name;cout客戶性別:sex; cSex=sex; cout客戶身份證號:idnum; idNum=idnum;cout入住日期:date; check_inDate=date;cout占用天數(shù):time;stayTime=time;cout房間類型:1.標準單人間 100/天 2.大床房 200/天 3.標準雙人間 300/天 4.套房 400/天type;roomType=type;cout客戶手機號:num; phoneNum=num;switch(this-roomType)case 1:for(int i=0;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房間號:roomi.Numberendlendl;cout請支付200元押金endlendl;roomi.State=1;break; else cout抱歉,該房間類型沒有了endl;break;case 2:for(int i=20;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房間號:roomi.Numberendlendl;cout請支付400元押金endlendl;roomi.State=1;break; else cout抱歉,該房間類型沒有了endl;break;case 3:for(int i=40;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房間號:roomi.Numberendlendl;cout請支付600元押金endlendl;roomi.State=1;break; else cout抱歉,該房間類型沒有了endl;break;case 4:for(int i=60;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房間號:roomi.Numberendlendl;cout請支付800元押金endlendl;roomi.State=1;break; else cout抱歉,該房間類型沒有了endl;break;default:cout您輸入的房間類型有誤!endl; void booked()string compareItem;string id_num;cout請輸入您的姓名或者手機號:compareItem;for(int i=0;i80;i+)if(roomi.Name=compareItem|roomi.Phone=compareItem)cout驗證成功!請支付:(roomi.Price*2)元押金endl;cout請登記客戶的身份證號:id_num;idNum=id_num;roomi.ID=idNum;cout房間號為: roomi.Numberendl歡迎入??!endlendl;break; ;class checkOutprivate:string name;int number;int days;int price;public:void checkout()int expense;cout請輸入房間號:number;cout請輸入姓名:name;cout請輸入實際住宿天數(shù):days; for(int i=0;i80;i+)if(roomi.Name=name) & (roomi.Number=number)expense=days*(roomi.Number/100*100);cout房間號為roomi.Number的房間實際消費為expense元endl;cout押金為:roomi.Priceroomi.Price) cout請補交(expense-roomi.Price)元endl;else cout退回:(roomi.Price-expense)元endl; break;else coutroomi.Number號房不符合endl;cout房費核算清后請安任意鍵繼續(xù)endlendl; system(pause);cout感謝入住本酒店,歡迎下次光臨!endlendl;void menu()cout歡迎使用酒店管理系統(tǒng)!endl;cout請選擇:endl;cout1.預定房間endl;cout2.辦理入住endl;cout3.退房結賬endl;cout4.退出系統(tǒng)endl; void init()int n=101;for(int i=0;i20;i+)roomi.Number=n+;roomi.Price=100;roomi.State=0;n=201; for(int i=20;i40;i+)roomi.Number=n+;roomi.Price=200;roomi.State=0;n=301;for(int i=40;i60;i+)roomi.Number=n+;roomi.Price=300;roomi.State=0;n=401;for(int i=60;ic; switch(c) case 1: BookRoom*a=new BookRoom; a-setData(); a-Book(); break; case 2: CheckIn*b=new CheckIn; cout您有預定嗎? 1.已預定 2.未預定c; switch(c) case 1: b-booked(); break;case 2:b-unbooked();break;default:cout輸入有誤!checkout(); break;case 4: cout謝謝使用,再見!endl; flag=0; break; default:cout輸入有誤!endl; return 0; O:最初廢除版(利用數(shù)組)因為數(shù)組只能簡單的儲存一種類型的數(shù)據(jù),例如字符和數(shù)字。而酒店管理系統(tǒng)這種情境,一個房間要儲存多種數(shù)據(jù),例如客戶姓名、客戶性別、預訂房間號、客戶預留手機號、客戶占用天數(shù)、客戶身份證號以及押金和實際花銷等。因此我選用了結構體來儲存。以下是Old version:#include#includeusing namespace std;int room_num420; /定義數(shù)組,共4個樓層,每個樓層20個房間,一層一類型class BookRoom /定義預定房間類 private:string cName; /顧客姓名int stayTime; /預定天數(shù)int roomType; /房間類型(1.標準單人間 2.大床房 3.標準雙人間 4. 套房)string phoneNum; / 預留手機號(也可使用longint) public: void setData() string name; int time; int type; string num; cout您好,請輸入您的姓名:name; cName=name;cout預定天數(shù)為:time; stayTime=time;cout想要預定的房間類型:1.標準單人間 2.大床房 3.標準雙人間 4. 套房type; roomType=type;cout預留手機號:num; phoneNum=num;void Book()cout正在預定.roomType)case 1:for(int i=0;i20;i+)if (room_num1i=0) /房間無人占用且無人預定 cout預定成功!房間號:10i+1endl;room_num1i=1;break; /已被預訂 else cout該類型房間沒有了endl; break;case 2:for(int i=0;i20;i+) if(room_num2i=0) cout預定成功!房間號:20i+1endl;room_num2i=1; break;else cout該類型房間沒有了endl; break;case 3:for(int i=0;i20;i+)if(room_num3i=0) cout預定成功!房間號:30i+1endl;room_num3i=1; break;else cout該類型房間沒有了endl; break;case 4:for(int i=0;i20;i+)if(room_num4i=0) cout預定成功!房間號:40i+1endl;room_num4i=1; break;else cout該類型房間沒有了endl; break;default:cout您輸入的房間類型有誤!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客戶姓名:name;cName=name;cout性別:sex;cSex=sex;cout身份證號:id;cId=id;cout手機號:num;phoneNum=num;cout登記入住時間:date;check_inDate=date;cout入住天數(shù):time;stayTime=time

溫馨提示

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

評論

0/150

提交評論