


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、源代码#in clude<iostream.h>#in cludevstri ng.h>void initial_room(); / 初始化80个房间信息void welcome。;验证用户登陆,登陆成功显示欢迎信息void en ter();/系统入口void book_room();/订房void check_i n();/入住void check_out();退房void inquire。;/信息查询int i=0;struct Room/Room结构体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(); /根据用户的选择执行不同的功能coutvvendl; coutvv"继续使用本系统请按"1",退出请按"2"!"cin
5、> >choice;系 统登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<<" 欢迎使用宾馆客房管理系统 ! n"cout<<"n"cout<<endl;/系 void enter()int kind_of_service;cout<<" 请选择服务类别 :订房、入住、退房还是查询 ? 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; /订 房实现void book_room() customeri=new Customer;int room_standard,day;cout<<&
8、quot; 请您选择预定房间的标准 :n"cout<<"1.单人间/天150元n2.双人间/天 200元n3.标准间/天 300元n4.总统套房/天600元n"cin>>room_standard;cout<<" 请输入预定天数 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+;/住房的顾客数加 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;/修改房间状态为入住状态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.总统套房/天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); /退房 结 算void check_out() char name210,id219;int standard,j,room_number,day1,day2,day;cout<<" 请输入要退房的顾客姓名和身份证号码 :n" cin>
22、;>name2>>id2;cout<<" 请输入该顾客实住天数 :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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代办入职合同范例
- 个人托管中介合同范例
- 公司股权回购合同范例
- 内勤兼职合同范例
- 公司出让股权合同范例
- 劳务雇佣合同范例
- 俩人合伙协议合同范例
- lcc补充合同范例
- 中考语文专项复习:古诗文名篇名句默写(原卷版)
- 2022年贵州民族大学自考英语(二)练习题(附答案解析)
- 运输公司安全生产管理制度
- GB 11984-2024化工企业氯气安全技术规范
- 《信息论绪论》课件
- GA/T 2149-2024机动车驾驶人安全教育网络课程设置规范
- 企业环保知识培训课件
- 甲肝流行病学
- Unit 3 Food and Culture Using Language 课件英语人教版(2019)选择性必修第二册
- 卵巢囊肿中医治疗
- 《Origin的使用方法》课件
- 2024年项目投资计划书模版(三篇)
- 廉政教育培训
评论
0/150
提交评论