版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、源代碼#in clude<iostream.h>#in cludevstri ng.h>void initial_room(); / 初始化80個房間信息void welcome。;驗證用戶登陸,登陸成功顯示歡迎信息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"請您輸入顧客的姓名n" cin>>name; cout<<"請您輸入顧客的身份證號碼 n" cin>>ID; prepaid=change=day=0;Customer:Custome
4、r()coutvv"該顧客退房成功 !"vvendl;Room room80;Customer *customer80;void main()/程序入口從這里開始運行char choice='1'initial_room();/初始化80個房間的信息,分四個等級welcome。; /驗證用戶登陸,登陸成功顯示歡迎信息while(choice='1')enter(); /根據(jù)用戶的選擇執(zhí)行不同的功能coutvvendl; coutvv"繼續(xù)使用本系統(tǒng)請按"1",退出請按"2"!"cin
5、> >choice;系 統(tǒng)登void welcome()char n ame4,code7;coutvve ndl; 陸界面驗證用戶登陸,登陸成功顯示歡迎信息coutvv"請輸入用戶名和密碼(以空格隔開):n"cin>>name>>code;while(strcmp( name,"0")!=0)|(strcmp(code,"1")!=0)coutvve ndl;coutvv"用戶名或密碼輸入有誤,請重新輸入!n"cin>>name>>code;coutvv
6、" n"cout<<" 歡迎使用賓館客房管理系統(tǒng) ! n"cout<<"n"cout<<endl;/系 void enter()int kind_of_service;cout<<" 請選擇服務(wù)類別 :訂房、入住、退房還是查詢 ? n"cout<<" 1-> 定房 2->入住 3->退房 4->查詢 : "cin>>kind_of_service;if(kind_of_service>4) |
7、(kind_of_service<1)cout<<" 您的輸入有誤,請重試 !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; /訂 房實現(xiàn)void book_room() customeri=new Customer;int room_standard,day;cout<<&
8、quot; 請您選擇預定房間的標準 :n"cout<<"1.單人間/天150元n2.雙人間/天 200元n3.標準間/天 300元n4.總統(tǒng)套房/天600元n"cin>>room_standard;cout<<" 請輸入預定天數(shù) n"cin>>day;customeri->set_day(day);switch(room_standard) int n;case 1:coutvv"住房費用總共為:"vvday*150vv"元n"if(roomn.sta
9、te=0) /state=0 表示該住房沒有被預定的coutvv"預定成功房間號碼為/計算住房費用for(n=0;nv20;n+)/從第一個級別的房間中查找一個空閑的房間"vvroomn.numbervvendl;roomn.state=1;customeri->set_room_number(roomn.number);break; break;case 2 :cout<<" 住房費用總共為 : "<<day*200<<" 元 n"for(n=20;n<40;n+)if(roomn.s
10、tate=0)coutvv"預定成功房間號碼為:"<<roomn.numbervvendl; customeri->set_room_number(roomn.number); break; break;case 3 :coutvv" 住房費用總共為 : "vvday*300vv" 元 n"for(n=40;nv60;n+)if(roomn.state=0)coutvv"預定成功房間號碼為:"<<roomn.numbervvendl; customeri->set_room_nu
11、mber(roomn.number); break; break;case 4 :roomn.state=1;roomn.state=1;coutvv" 住房費用總共為 : "vvday*600vv" 元 n"for(n=60;nv80;n+)if(roomn.state=0)coutvv"預定成功房間號碼為 :"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->沒訂) "cin>>ding_or_no;if(ding_or_no=1) cout<<" 請輸入顧客的姓名 :"<<endl;cin>>name1;cout<<" 請輸入顧客的身份證號碼 :"<<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(); / 取得定房的房間號cout<<" 顧客 "<<name1<<" 今天入住本賓館 ! 房間號碼為 : "<<num<<endl;switch(num/100) case 6:prepaid=custome
14、rj->get_day()*150; customerj->set_prepaid(prepaid);cout<<" 請收房費 "<<prepaid<<" 元整 "<<endl; / 開始收費roomnum%100-1.state=2;case 7: prepaid=customerj->get_day()*200; cout<<" 請 收 房 費 "<<prepaid<<" break;case 8: prepaid=cu
15、stomerj->get_day()*300; cout<<" 請 收 房 費 "<<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;收房費case 9:prepaid=customerj
16、->get_day()*600; customerj->set_prepaid(prepaid); cout<<" 請"<<prepaid<<" 元整 !"<<endl; room59+num%100.state=2; break; break; else customeri=new Customer;int room_standard,day;cout<<" 請您選擇預定房間的標準 :n"cout<<"1.單人間/天150元n2.雙人間/天
17、 200元n3.標準間/天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<<" 請收房費 "<<prepaid<<" 元整 !n"for(n=0;n<20;n+) if(roomn.state=0
18、) cout<<" 入住房間號碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 2:prepaid=day*200; customeri->set_prepaid(prepaid);cout<<" 請收房費 "<<prepaid<<" 元整 !n"for(n=20;n<40;n+) if(ro
19、omn.state=0) cout<<" 入住房間號碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 3:prepaid=day*300; customeri->set_prepaid(prepaid);cout<<" 請收房費 "<<prepaid<<" 元整 !n"for(n=40;n<6
20、0;n+) if(roomn.state=0) cout<<" 入住房間號碼為 : "<<roomn.number<<endl; roomn.state=2; customeri->set_room_number(roomn.number); break; break;case 4:prepaid=day*600; customeri->set_prepaid(prepaid);cout<<" 請收房費 "<<prepaid<<" 元整 !n"for(
21、n=60;n<80;n+) if(roomn.state=0) cout<<" 入住房間號碼為 : "<<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<<" 請輸入要退房的顧客姓名和身份證號碼 :n" cin>
22、;>name2>>id2;cout<<" 請輸入該顧客實住天數(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<<" 顧客的房間號是 "<<room_number<<": 為單人間 ,每天 150 元 n"cout<<" 該 顧 客 預 付 了 房 費 "<<customerj->get_prepaid()<<" 元 , 實 際 消 費 "<<day2*150<<" 元整 !n"if(day>0) cout<<"
24、 請退給該顧客 "<<day*150<<" 元整 !n"if(day) cout<<" 請 補 收 該 顧 客 住 房 費 "<<-day*150<<" 元 整 !n" break;case 7:cout<<" 顧客的房間號是 "<<room_number<<": 為單人間 ,每天 200 元 n"cout<<" 該 顧 客 預 付 了 房 費 "<&l
25、t;customerj->get_prepaid()<<" 元 , 實 際 消 費 "<<day2*200<<" 元整 !n" cout<<endl;if(day>0) cout<<" 請退給該顧客 "<<day*200<<" 元整 !n"if(day<0) cout<<" 請補收該顧客住房費 "<<-day*200<<" 元整 !n" b
26、reak;case 8: cout<<" 顧客的房間號是 "<<room_number<<": 為單人間 ,每天 300 元 n"cout<<" 該 顧 客 預 付 了 房 費 "<<customerj->get_prepaid()<<" 元 , 實 際 消 費 "<<day2*300<<" 元整 !n" cout<<endl;if(day>0) cout<<&qu
27、ot; 請退給該顧客 "<<day*300<<" 元整 !n"if(day<0) cout<<" 請補收該顧客住房費 "<<-day*300<<" 元整 !n" break; case 9:cout<<" 顧客的房間號是 "<<room_number<<": 為單人間 ,每天 600 元 n"cout<<" 該 顧 客 預 付 了 房 費 "<&l
28、t;customerj->get_prepaid()<<" 元 , 實 際 消 費 "<<day2*600<<" 元整 !n" cout<<endl;if(day>0) cout<<" 請退給該顧客 "<<day*600<<" 元整 !n"if(day<0) cout<<" 請補收該顧客住房費 "<<-day*600<<" 元整 !n" b
29、reak; cout<<" 退房核算清楚 , 請按 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、<" 房間信息查詢請按 1 , 顧客信息查詢請按 2: "<<endl; cin>>inquire_choice; if(inquire_choice='1') int j , k=0;cout<<" 下列房間還沒人預訂,也沒人入?。?"<<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<<" 下列房間已預訂: "<<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"按姓名查詢請按1,按身份證查詢請按 2: "vvendl;char inquire_choice; if(inquire_choice='1') char name310;coutvv" 請輸入顧客的姓名"vve ndl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京郵電大學《數(shù)據(jù)庫與數(shù)據(jù)結(jié)構(gòu)(二)》2023-2024學年第一學期期末試卷
- 教師個人教學心得范文
- 北京信息職業(yè)技術(shù)學院《營地教育》2023-2024學年第一學期期末試卷
- 五年級數(shù)學說課稿合集八篇
- 解除建筑施工合同協(xié)議書
- 2025版砍樹承包合同附帶林業(yè)保險與風險規(guī)避協(xié)議3篇
- 春季幼兒教師教學心得
- 2024年幼兒專用地板項目可行性研究報告
- 儀式邀請函范文匯編9篇
- 2025板材原材料采購與供應(yīng)鏈管理合同3篇
- 燒烤店裝修合同范文模板
- 2024年中國櫻桃番茄種市場調(diào)查研究報告
- 數(shù)據(jù)分析基礎(chǔ)與應(yīng)用指南
- 人教版(PEP)小學六年級英語上冊全冊教案
- 廣東省廣州市海珠區(qū)2023-2024學年六年級上學期月考英語試卷
- 消防水域救援個人防護裝備試驗 大綱
- 機電樣板施工主要技術(shù)方案
- 涉稅風險管理方案
- 青島市2022-2023學年七年級上學期期末道德與法治試題
- 高空作業(yè)安全免責協(xié)議書范本
- 石油化學智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(華東)
評論
0/150
提交評論