賓館客房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
賓館客房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
賓館客房管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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 表示該住房沒有被預(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->沒訂) "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<<" 下列房間還沒人預(yù)訂,也沒人入?。?"<<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"下列房間有人入?。?quot;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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論