


下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、源代碼#in clude<iostream.h>#in cludevstri ng.h>void initial_room(); / 初始化80個(gè)房間信息void welcome。;驗(yàn)證用戶登陸,登陸成功顯示歡迎信息void en ter();/系統(tǒng)入口void book_room();/訂房void check_i n();/入住void check_out();退房void inquire。;/信息查詢int i=0;struct Room/Room結(jié)構(gòu)體int nu mber;int dank;int price;int state;l?;class Customerp
2、ublic:Customer。;void set_ name(char *n )strcpy( name, n);void set_ID(char *p)strcpy(ID,p);void set_room _nu mber(i nt n )room _nu mber=n;void set_day(i nt d)day=d;void set_prepaid(i nt p)prepaid=p;char *get_ name()return n ame;char *get_ID()return ID;int get_room _nu mber()return room_nu mber; int g
3、et_day()return day;int get_prepaid()return prepaid;virtual Customer();private: char name10,ID19;int room_nu mber;int prepaid;intcha nge;int day;Customer:Customer()coutvv"請(qǐng)您輸入顧客的姓名n" cin>>name; cout<<"請(qǐng)您輸入顧客的身份證號(hào)碼 n" cin>>ID; prepaid=change=day=0;Customer:Custome
4、r()coutvv"該顧客退房成功 !"vvendl;Room room80;Customer *customer80;void main()/程序入口從這里開始運(yùn)行char choice='1'initial_room();/初始化80個(gè)房間的信息,分四個(gè)等級(jí)welcome。; /驗(yàn)證用戶登陸,登陸成功顯示歡迎信息while(choice='1')enter(); /根據(jù)用戶的選擇執(zhí)行不同的功能coutvvendl; coutvv"繼續(xù)使用本系統(tǒng)請(qǐng)按"1",退出請(qǐng)按"2"!"cin
5、> >choice;系 統(tǒng)登void welcome()char n ame4,code7;coutvve ndl; 陸界面驗(yàn)證用戶登陸,登陸成功顯示歡迎信息coutvv"請(qǐng)輸入用戶名和密碼(以空格隔開):n"cin>>name>>code;while(strcmp( name,"0")!=0)|(strcmp(code,"1")!=0)coutvve ndl;coutvv"用戶名或密碼輸入有誤,請(qǐng)重新輸入!n"cin>>name>>code;coutvv
6、" n"cout<<" 歡迎使用賓館客房管理系統(tǒng) ! n"cout<<"n"cout<<endl;/系 void enter()int kind_of_service;cout<<" 請(qǐng)選擇服務(wù)類別 :訂房、入住、退房還是查詢 ? n"cout<<" 1-> 定房 2->入住 3->退房 4->查詢 : "cin>>kind_of_service;if(kind_of_service>4) |
7、(kind_of_service<1)cout<<" 您的輸入有誤,請(qǐng)重試 !n" cin>>kind_of_service;elseswitch(kind_of_service)case 1: book_room(); break;case 2: check_in();break;case 3: check_out();break;case 4: inquire(); break; /訂 房實(shí)現(xiàn)void book_room() customeri=new Customer;int room_standard,day;cout<<&
8、quot; 請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn) :n"cout<<"1.單人間/天150元n2.雙人間/天 200元n3.標(biāo)準(zhǔn)間/天 300元n4.總統(tǒng)套房/天600元n"cin>>room_standard;cout<<" 請(qǐng)輸入預(yù)定天數(shù) n"cin>>day;customeri->set_day(day);switch(room_standard) int n;case 1:coutvv"住房費(fèi)用總共為:"vvday*150vv"元n"if(roomn.sta
9、te=0) /state=0 表示該住房沒(méi)有被預(yù)定的coutvv"預(yù)定成功房間號(hào)碼為/計(jì)算住房費(fèi)用for(n=0;nv20;n+)/從第一個(gè)級(jí)別的房間中查找一個(gè)空閑的房間"vvroomn.numbervvendl;roomn.state=1;customeri->set_room_number(roomn.number);break; break;case 2 :cout<<" 住房費(fèi)用總共為 : "<<day*200<<" 元 n"for(n=20;n<40;n+)if(roomn.s
10、tate=0)coutvv"預(yù)定成功房間號(hào)碼為:"<<roomn.numbervvendl; customeri->set_room_number(roomn.number); break; break;case 3 :coutvv" 住房費(fèi)用總共為 : "vvday*300vv" 元 n"for(n=40;nv60;n+)if(roomn.state=0)coutvv"預(yù)定成功房間號(hào)碼為:"<<roomn.numbervvendl; customeri->set_room_nu
11、mber(roomn.number); break; break;case 4 :roomn.state=1;roomn.state=1;coutvv" 住房費(fèi)用總共為 : "vvday*600vv" 元 n"for(n=60;nv80;n+)if(roomn.state=0)coutvv"預(yù)定成功房間號(hào)碼為 :"vvroomn.numbervvendl;customeri->set_room_number(roomn.number); break; break; i+;/住房的顧客數(shù)加 1roomn.state=1;/ 入住
12、登 記void check_in()char name110,id119;int ding_or_no,prepaid;coutvv" 該顧客訂房了嗎 ? (1->訂了2->沒(méi)訂) "cin>>ding_or_no;if(ding_or_no=1) cout<<" 請(qǐng)輸入顧客的姓名 :"<<endl;cin>>name1;cout<<" 請(qǐng)輸入顧客的身份證號(hào)碼 :"<<endl; cin>>id1;查找for(int j=0;j<=i
13、;j+)if(strcmp(customerj->get_name(),name1)=0)&&(strcmp(customerj->get_ID(),id1)=0) /該顧客的定房信息 int num=customerj->get_room_number(); / 取得定房的房間號(hào)cout<<" 顧客 "<<name1<<" 今天入住本賓館 ! 房間號(hào)碼為 : "<<num<<endl;switch(num/100) case 6:prepaid=custome
14、rj->get_day()*150; customerj->set_prepaid(prepaid);cout<<" 請(qǐng)收房費(fèi) "<<prepaid<<" 元整 "<<endl; / 開始收費(fèi)roomnum%100-1.state=2;case 7: prepaid=customerj->get_day()*200; cout<<" 請(qǐng) 收 房 費(fèi) "<<prepaid<<" break;case 8: prepaid=cu
15、stomerj->get_day()*300; cout<<" 請(qǐng) 收 房 費(fèi) "<<prepaid<< break;/修改房間狀態(tài)為入住狀態(tài)break;customerj->set_prepaid(prepaid);元整 !"<<endl; room19+num%100.state=2;customerj->set_prepaid(prepaid);元 整 !"<<endl; room39+num%100.state=2;收房費(fèi)case 9:prepaid=customerj
16、->get_day()*600; customerj->set_prepaid(prepaid); cout<<" 請(qǐng)"<<prepaid<<" 元整 !"<<endl; room59+num%100.state=2; break; break; else customeri=new Customer;int room_standard,day;cout<<" 請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn) :n"cout<<"1.單人間/天150元n2.雙人間/天
17、 200元n3.標(biāo)準(zhǔn)間/天300元n4.總統(tǒng)套房/天600元n"cin>>room_standard;cin>>day; customeri->set_day(day); switch(room_standard) int n;case 1:prepaid=day*150; customeri->set_prepaid(prepaid);cout<<" 請(qǐng)收房費(fèi) "<<prepaid<<" 元整 !n"for(n=0;n<20;n+) if(roomn.state=0
18、) cout<<" 入住房間號(hào)碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 2:prepaid=day*200; customeri->set_prepaid(prepaid);cout<<" 請(qǐng)收房費(fèi) "<<prepaid<<" 元整 !n"for(n=20;n<40;n+) if(ro
19、omn.state=0) cout<<" 入住房間號(hào)碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 3:prepaid=day*300; customeri->set_prepaid(prepaid);cout<<" 請(qǐng)收房費(fèi) "<<prepaid<<" 元整 !n"for(n=40;n<6
20、0;n+) if(roomn.state=0) cout<<" 入住房間號(hào)碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 4:prepaid=day*600; customeri->set_prepaid(prepaid);cout<<" 請(qǐng)收房費(fèi) "<<prepaid<<" 元整 !n"for(
21、n=60;n<80;n+) if(roomn.state=0) cout<<" 入住房間號(hào)碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); /退房 結(jié) 算void check_out() char name210,id219;int standard,j,room_number,day1,day2,day;cout<<" 請(qǐng)輸入要退房的顧客姓名和身份證號(hào)碼 :n" cin>
22、;>name2>>id2;cout<<" 請(qǐng)輸入該顧客實(shí)住天數(shù) :n" cin>>day2; for(j=0;j<i;j+) if(strcmp(customerj->get_name(),name2)=0)&&(strcmp(customerj->get_ID(),id2)=0) room_number=customerj->get_room_number(); standard=room_number/100; day1=customerj->get_day(); day=day1-
23、day2;switch(standard)case 6:cout<<" 顧客的房間號(hào)是 "<<room_number<<": 為單人間 ,每天 150 元 n"cout<<" 該 顧 客 預(yù) 付 了 房 費(fèi) "<<customerj->get_prepaid()<<" 元 , 實(shí) 際 消 費(fèi) "<<day2*150<<" 元整 !n"if(day>0) cout<<"
24、 請(qǐng)退給該顧客 "<<day*150<<" 元整 !n"if(day) cout<<" 請(qǐng) 補(bǔ) 收 該 顧 客 住 房 費(fèi) "<<-day*150<<" 元 整 !n" break;case 7:cout<<" 顧客的房間號(hào)是 "<<room_number<<": 為單人間 ,每天 200 元 n"cout<<" 該 顧 客 預(yù) 付 了 房 費(fèi) "<&l
25、t;customerj->get_prepaid()<<" 元 , 實(shí) 際 消 費(fèi) "<<day2*200<<" 元整 !n" cout<<endl;if(day>0) cout<<" 請(qǐng)退給該顧客 "<<day*200<<" 元整 !n"if(day<0) cout<<" 請(qǐng)補(bǔ)收該顧客住房費(fèi) "<<-day*200<<" 元整 !n" b
26、reak;case 8: cout<<" 顧客的房間號(hào)是 "<<room_number<<": 為單人間 ,每天 300 元 n"cout<<" 該 顧 客 預(yù) 付 了 房 費(fèi) "<<customerj->get_prepaid()<<" 元 , 實(shí) 際 消 費(fèi) "<<day2*300<<" 元整 !n" cout<<endl;if(day>0) cout<<&qu
27、ot; 請(qǐng)退給該顧客 "<<day*300<<" 元整 !n"if(day<0) cout<<" 請(qǐng)補(bǔ)收該顧客住房費(fèi) "<<-day*300<<" 元整 !n" break; case 9:cout<<" 顧客的房間號(hào)是 "<<room_number<<": 為單人間 ,每天 600 元 n"cout<<" 該 顧 客 預(yù) 付 了 房 費(fèi) "<&l
28、t;customerj->get_prepaid()<<" 元 , 實(shí) 際 消 費(fèi) "<<day2*600<<" 元整 !n" cout<<endl;if(day>0) cout<<" 請(qǐng)退給該顧客 "<<day*600<<" 元整 !n"if(day<0) cout<<" 請(qǐng)補(bǔ)收該顧客住房費(fèi) "<<-day*600<<" 元整 !n" b
29、reak; cout<<" 退房核算清楚 , 請(qǐng)按 1: " char account; cin>>account;if(account='1')for(int k=0;k<80;k+) if(roomk.number=customerj->get_room_number() roomk.state=0; i- for(;j<i;j+) customerj=customerj+1; delete customeri; /信息 查 詢void inquire() char inquire_choice;cout<
30、<" 房間信息查詢請(qǐng)按 1 , 顧客信息查詢請(qǐng)按 2: "<<endl; cin>>inquire_choice; if(inquire_choice='1') int j , k=0;cout<<" 下列房間還沒(méi)人預(yù)訂,也沒(méi)人入?。?"<<endl;for(j=0;j<80;j+) if(roomj.state=0)if(k%10=0) cout<<endl;cout<<roomj.number<<'t' k+; cout&l
31、t;<endl;k=0; cout<<" 下列房間已預(yù)訂: "<<e ndl;for(j=0;j<80;j+) if(roomj.state=1)if(k%10=0)coutvve ndl; coutvvroom。. nu mber<v't: k+; coutvv"下列房間有人入住:"v<endl;k=0; coutvve ndl; coutvve ndl;for(j=0;jv80;j+) if(roomj.state=2) if(k%10=0) coutvve ndl; coutvvroomj. nu mbervv't'k+; coutvve ndl; else if(i nquire_choice='2') coutvv"按姓名查詢請(qǐng)按1,按身份證查詢請(qǐng)按 2: "vvendl;char inquire_choice; if(inquire_choice='1') char name310;coutvv" 請(qǐng)輸入顧客的姓名"vve ndl
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)文化建設(shè)對(duì)法律風(fēng)險(xiǎn)預(yù)防的作用
- 2025年銀行業(yè)同業(yè)貸款協(xié)議規(guī)范文本
- 2025年雙方協(xié)商的離婚安置協(xié)議范本
- 企業(yè)跨境經(jīng)營(yíng)中的責(zé)任問(wèn)題與應(yīng)對(duì)
- 統(tǒng)籌推進(jìn)教師教育能力提升的面臨的問(wèn)題、機(jī)遇與挑戰(zhàn)
- 構(gòu)建出版業(yè)融合發(fā)展風(fēng)險(xiǎn)管理評(píng)估
- 綠色能源與抽水蓄能的深度融合
- 智能農(nóng)業(yè)的新紀(jì)元
- 地理學(xué)全景解讀
- 構(gòu)筑智慧城市藍(lán)圖
- TSG ZF003-2011《爆破片裝置安全技術(shù)監(jiān)察規(guī)程》
- 拆除鐵皮棚協(xié)議書
- 2024年中考英語(yǔ)試題分類匯編:短文填空之選詞填空(解析版)
- 山東省煙臺(tái)市2024年中考英語(yǔ)真題【附真題答案】
- JC∕T 2533-2019 預(yù)拌混凝土企業(yè)安全生產(chǎn)規(guī)范
- JGJ104-2011建筑工程冬期施工規(guī)程
- 大數(shù)據(jù)與人工智能營(yíng)銷智慧樹知到期末考試答案章節(jié)答案2024年南昌大學(xué)
- 2024北京海淀區(qū)初一(下)期末道法試題及答案
- 業(yè)主大會(huì)(業(yè)主委員會(huì))規(guī)范化建設(shè)指導(dǎo)手冊(cè)
- 工程建設(shè)平移合同范本
- 2024年上海市初中學(xué)業(yè)水平考試物理中考試卷真題(含答案詳解)
評(píng)論
0/150
提交評(píng)論