版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上程序代碼N:最終改進(jìn)版代碼(利用結(jié)構(gòu)體儲(chǔ)存多種類型的數(shù)據(jù))好處:比數(shù)組能儲(chǔ)存更多類型的數(shù)據(jù)!#include<iostream>#include<string>#include<cstdlib> /常用函數(shù)庫(kù) using namespace std;/*在c+中struct和類的區(qū)別在于struct不能有方法,所有成員是public的*/struct Roomint Number;int Price;int State;int days;string Name;string Phone;string ID;/room; 可以在聲明s
2、truct的時(shí)候聲明一個(gè)struct實(shí)例Room room80;class BookRoom /定義預(yù)定房間類 private:string cName; /顧客姓名int stayTime; /預(yù)定天數(shù)int roomType; /房間類型(1.標(biāo)準(zhǔn)單人間 2.大床房 3.標(biāo)準(zhǔn)雙人間 4. 套房)string phoneNum; / 預(yù)留手機(jī)號(hào)public: void setData() string name; int time; int type; string num; cout<<"您好,請(qǐng)輸入您的姓名:"<<endl;cin>>
3、;name; cName=name;cout<<"預(yù)定天數(shù)為:"<<endl; cin>>time; stayTime=time;cout<<"想要預(yù)定的房間類型:1.標(biāo)準(zhǔn)單人間 100/天 2.大床房 200/天 3.標(biāo)準(zhǔn)雙人間 300/天 4.套房400/天"<<endl;cin>>type; roomType=type;cout<<"預(yù)留手機(jī)號(hào):"<<endl;cin>>num; phoneNum=num;void Boo
4、k()cout<<"正在預(yù)定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (roomi.State=0) /房間無(wú)人占用且無(wú)人預(yù)定 roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;cout<<"預(yù)定成功!房間號(hào):"<<roomi.Numbe
5、r<<endl<<endl;roomi.State=1;break; /已被預(yù)訂 else cout<<roomi.Number<<"號(hào)房間已有人"<<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; cout&
6、lt;<"預(yù)定成功!房間號(hào):"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"號(hào)房間已有人"<<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->phone
7、Num;roomi.Price*=this->stayTime; cout<<"預(yù)定成功!房間號(hào):"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"號(hào)房間已有人"<<endl;break;case 4:for(int i=60;i<80;i+)if(roomi.State=0) roomi.days=this->stayTime; roomi.Name=
8、this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime; cout<<"預(yù)定成功!房間號(hào):"<<roomi.Number<<endl<<endl;roomi.State=1; break;else cout<<roomi.Number<<"號(hào)房間已有人"<<endl;break;default:cout<<"您輸入的房間類型有誤!"<<
9、;endl; ;class CheckIn /定義辦理入住類private:string cName;string cSex;string idNum; /身份證號(hào) 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<<"客戶姓名:"<<endl; cin>>
10、;name; cName=name;cout<<"客戶性別:"<<endl; cin>>sex; cSex=sex; cout<<"客戶身份證號(hào):"<<endl; cin>>idnum; idNum=idnum;cout<<"入住日期:"<<endl; cin>>date; check_inDate=date;cout<<"占用天數(shù):"<<endl; cin>>time;s
11、tayTime=time;cout<<"房間類型:1.標(biāo)準(zhǔn)單人間 100/天 2.大床房 200/天 3.標(biāo)準(zhǔn)雙人間 300/天 4.套房 400/天"<<endl; cin>>type;roomType=type;cout<<"客戶手機(jī)號(hào):"<<endl; cin>>num; phoneNum=num;switch(this->roomType)case 1:for(int i=0;i<20;i+)if(roomi.State=0)roomi.days=this->
12、;stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號(hào):"<<roomi.Number<<endl<<endl;cout<<"請(qǐng)支付200元押金"<<endl<<endl;roomi.State=1;break; else cout<<"
13、;抱歉,該房間類型沒(méi)有了"<<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<<"入住成功!房間號(hào):"<<roomi.Number<<endl<<en
14、dl;cout<<"請(qǐng)支付400元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,該房間類型沒(méi)有了"<<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->phoneNum;roomi.Price*=this->stay
15、Time;roomi.ID=this->idNum;cout<<"入住成功!房間號(hào):"<<roomi.Number<<endl<<endl;cout<<"請(qǐng)支付600元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,該房間類型沒(méi)有了"<<endl;break;case 4:for(int i=60;i<80;i+)if(roomi.State=0)roomi.d
16、ays=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房間號(hào):"<<roomi.Number<<endl<<endl;cout<<"請(qǐng)支付800元押金"<<endl<<endl;roomi.State=1;break; else cout&
17、lt;<"抱歉,該房間類型沒(méi)有了"<<endl;break;default:cout<<"您輸入的房間類型有誤!"<<endl; void booked()string compareItem;string id_num;cout<<"請(qǐng)輸入您的姓名或者手機(jī)號(hào):"<<endl;cin>>compareItem;for(int i=0;i<80;i+)if(roomi.Name=compareItem|roomi.Phone=compareItem)co
18、ut<<"驗(yàn)證成功!請(qǐng)支付:"<<(roomi.Price*2)<<"元押金"<<endl;cout<<"請(qǐng)登記客戶的身份證號(hào):"<<endl;cin>>id_num;idNum=id_num;roomi.ID=idNum;cout<<"房間號(hào)為:" <<roomi.Number<<endl<<"歡迎入??!"<<endl<<endl;brea
19、k; ;class checkOutprivate:string name;int number;int days;int price;public:void checkout()int expense;cout<<"請(qǐng)輸入房間號(hào):"<<endl; cin>>number;cout<<"請(qǐng)輸入姓名:"<<endl; cin>>name;cout<<"請(qǐng)輸入實(shí)際住宿天數(shù):"<<endl; cin>>days; for(int i=
20、0;i<80;i+)if(roomi.Name=name) && (roomi.Number=number)expense=days*(roomi.Number/100*100);cout<<"房間號(hào)為"<<roomi.Number<<"的房間實(shí)際消費(fèi)為"<<expense<<"元"<<endl;cout<<"押金為:"<<roomi.Price<<endl;if(expense>
21、roomi.Price) cout<<"請(qǐng)補(bǔ)交"<<(expense-roomi.Price)<<"元"<<endl;else cout<<"退回:"<<(roomi.Price-expense)<<"元"<<endl; break;else cout<<roomi.Number<<"號(hào)房不符合"<<endl;cout<<"房費(fèi)核算清后請(qǐng)安任意
22、鍵繼續(xù)"<<endl<<endl; system("pause");cout<<"感謝入住本酒店,歡迎下次光臨!"<<endl<<endl;void menu()cout<<"歡迎使用酒店管理系統(tǒng)!"<<endl;cout<<"請(qǐng)選擇:"<<endl;cout<<"1.預(yù)定房間"<<endl;cout<<"2.辦理入住"&l
23、t;<endl;cout<<"3.退房結(jié)賬"<<endl;cout<<"4.退出系統(tǒng)"<<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(int i=40;i<60;i+)roomi
24、.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 2: CheckIn*b=new CheckI
25、n; cout<<"您有預(yù)定嗎? 1.已預(yù)定 2.未預(yù)定"<<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<<"謝謝使用,再見(jiàn)!&
26、quot;<<endl; flag=0; break; default:cout<<"輸入有誤!"<<endl; return 0; O:最初廢除版(利用數(shù)組)因?yàn)閿?shù)組只能簡(jiǎn)單的儲(chǔ)存一種類型的數(shù)據(jù),例如字符和數(shù)字。而酒店管理系統(tǒng)這種情境,一個(gè)房間要儲(chǔ)存多種數(shù)據(jù),例如客戶姓名、客戶性別、預(yù)訂房間號(hào)、客戶預(yù)留手機(jī)號(hào)、客戶占用天數(shù)、客戶身份證號(hào)以及押金和實(shí)際花銷等。因此我選用了結(jié)構(gòu)體來(lái)儲(chǔ)存。以下是Old version:#include<iostream>#include<string>using namespace s
27、td;int room_num420; /定義數(shù)組,共4個(gè)樓層,每個(gè)樓層20個(gè)房間,一層一類型class BookRoom /定義預(yù)定房間類 private:string cName; /顧客姓名int stayTime; /預(yù)定天數(shù)int roomType; /房間類型(1.標(biāo)準(zhǔn)單人間 2.大床房 3.標(biāo)準(zhǔn)雙人間 4. 套房)string phoneNum; / 預(yù)留手機(jī)號(hào)(也可使用longint) public: void setData() string name; int time; int type; string num; cout<<"您好,請(qǐng)輸入您的姓名:
28、"<<endl; cin>>name; cName=name;cout<<"預(yù)定天數(shù)為:"<<endl; cin>>time; stayTime=time;cout<<"想要預(yù)定的房間類型:1.標(biāo)準(zhǔn)單人間 2.大床房 3.標(biāo)準(zhǔn)雙人間 4. 套房"<<endl; cin>>type; roomType=type;cout<<"預(yù)留手機(jī)號(hào):"<<endl; cin>>num; phoneNum=nu
29、m;void Book()cout<<"正在預(yù)定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (room_num1i=0) /房間無(wú)人占用且無(wú)人預(yù)定 cout<<"預(yù)定成功!房間號(hào):10"<<i+1<<endl;room_num1i=1;break; /已被預(yù)訂 else cout<<"該類型房間沒(méi)有了"<<endl; break;case 2:for(int i=
30、0;i<20;i+) if(room_num2i=0) cout<<"預(yù)定成功!房間號(hào):20"<<i+1<<endl;room_num2i=1; break;else cout<<"該類型房間沒(méi)有了"<<endl; break;case 3:for(int i=0;i<20;i+)if(room_num3i=0) cout<<"預(yù)定成功!房間號(hào):30"<<i+1<<endl;room_num3i=1; break;else co
31、ut<<"該類型房間沒(méi)有了"<<endl; break;case 4:for(int i=0;i<20;i+)if(room_num4i=0) cout<<"預(yù)定成功!房間號(hào):40"<<i+1<<endl;room_num4i=1; break;else cout<<"該類型房間沒(méi)有了"<<endl; break;default:cout<<"您輸入的房間類型有誤!"<<endl; ;class Che
32、ckin /定義辦理入住類private:string cName;string cSex;string cId; /身份證號(hào) string phoneNum;int check_inDate; /入住時(shí)間 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>>name;cName=name;cout&
33、lt;<"性別:"<<endl;cin>>sex;cSex=sex;cout<<"身份證號(hào):"<<endl;cin>>id;cId=id;cout<<"手機(jī)號(hào):"<<endl;cin>>num;phoneNum=num;cout<<"登記入住時(shí)間:"<<endl;cin>>date;check_inDate=date;cout<<"入住天數(shù):"<<endl;cin>>time;stayTime=time;cout<<"房間號(hào):"<<endl;cin>>room_num;Room_num=room_num; ;void Check()cout<<&qu
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 20995:2024 EN Footwear - Performance requirements for components for footwear - Stiffeners and toe puffs
- 統(tǒng)編版二年級(jí)上冊(cè)《道德與法治》全冊(cè)教案
- 農(nóng)、林專用儀器賬務(wù)處理實(shí)例-記賬實(shí)操
- 2024年一季度碳交易市場(chǎng)運(yùn)行與政策盤(pán)點(diǎn)-雙碳政策護(hù)航碳市場(chǎng)健康發(fā)展
- 介紹英文足球課件
- 2023年寧泌泰膠囊項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2023年工具油項(xiàng)目評(píng)估分析報(bào)告
- 2024年紫外線強(qiáng)度觀測(cè)儀器項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2019粵教版 高中美術(shù) 選擇性必修3 雕塑《第一單元 初探雕塑藝術(shù)》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 2024屆河北省衡水十三中高三下學(xué)期期終考前模擬數(shù)學(xué)試題
- 耳穴壓豆治療糖尿病
- 國(guó)際關(guān)系理論智慧樹(shù)知到期末考試答案2024年
- (2024年)冠心病的診斷和規(guī)范化治療
- 卡西尼卵形線在高考中應(yīng)用
- (高清版)TDT 1068-2022 國(guó)土空間生態(tài)保護(hù)修復(fù)工程實(shí)施方案編制規(guī)程
- 支委會(huì)報(bào)告對(duì)某某同志的審查情況【6篇】
- 機(jī)電安裝給排水基礎(chǔ)知識(shí)及識(shí)圖課件
- 電氣設(shè)備安全操作培訓(xùn)
- 轉(zhuǎn)氨酶健康宣教課件
- 普通地質(zhì)學(xué)課件
- 品管圈課件降低藥物外滲
評(píng)論
0/150
提交評(píng)論