版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上程序代码N:最终改进版代码(利用结构体储存多种类型的数据)好处:比数组能储存更多类型的数据!#include<iostream>#include<string>#include<cstdlib> /常用函数库 using namespace std;/*在c+中struct和类的区别在于struct不能有方法,所有成员是public的*/struct Roomint Number;int Price;int State;int days;string Name;string Phone;string ID;/room; 可以在声明s
2、truct的时候声明一个struct实例Room room80;class BookRoom /定义预定房间类 private:string cName; /顾客姓名int stayTime; /预定天数int roomType; /房间类型(1.标准单人间 2.大床房 3.标准双人间 4. 套房)string phoneNum; / 预留手机号public: void setData() string name; int time; int type; string num; cout<<"您好,请输入您的姓名:"<<endl;cin>>
3、;name; cName=name;cout<<"预定天数为:"<<endl; cin>>time; stayTime=time;cout<<"想要预定的房间类型:1.标准单人间 100/天 2.大床房 200/天 3.标准双人间 300/天 4.套房400/天"<<endl;cin>>type; roomType=type;cout<<"预留手机号:"<<endl;cin>>num; phoneNum=num;void Boo
4、k()cout<<"正在预定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (roomi.State=0) /房间无人占用且无人预定 roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;cout<<"预定成功!房间号:"<<roomi.Numbe
5、r<<endl<<endl;roomi.State=1;break; /已被预订 else cout<<roomi.Number<<"号房间已有人"<<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;<"预定成功!房间号:"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"号房间已有人"<<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<<"预定成功!房间号:"<<roomi.Number<<endl<<endl;roomi.State=1; break; else cout<<roomi.Number<<"号房间已有人"<<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<<"预定成功!房间号:"<<roomi.Number<<endl<<endl;roomi.State=1; break;else cout<<roomi.Number<<"号房间已有人"<<endl;break;default:cout<<"您输入的房间类型有误!"<<
9、;endl; ;class CheckIn /定义办理入住类private:string cName;string cSex;string idNum; /身份证号 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<<"客户身份证号:"<<endl; cin>>idnum; idNum=idnum;cout<<"入住日期:"<<endl; cin>>date; check_inDate=date;cout<<"占用天数:"<<endl; cin>>time;s
11、tayTime=time;cout<<"房间类型:1.标准单人间 100/天 2.大床房 200/天 3.标准双人间 300/天 4.套房 400/天"<<endl; cin>>type;roomType=type;cout<<"客户手机号:"<<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<<"入住成功!房间号:"<<roomi.Number<<endl<<endl;cout<<"请支付200元押金"<<endl<<endl;roomi.State=1;break; else cout<<"
13、;抱歉,该房间类型没有了"<<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<<"入住成功!房间号:"<<roomi.Number<<endl<<en
14、dl;cout<<"请支付400元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,该房间类型没有了"<<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<<"入住成功!房间号:"<<roomi.Number<<endl<<endl;cout<<"请支付600元押金"<<endl<<endl;roomi.State=1;break; else cout<<"抱歉,该房间类型没有了"<<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<<"入住成功!房间号:"<<roomi.Number<<endl<<endl;cout<<"请支付800元押金"<<endl<<endl;roomi.State=1;break; else cout&
17、lt;<"抱歉,该房间类型没有了"<<endl;break;default:cout<<"您输入的房间类型有误!"<<endl; void booked()string compareItem;string id_num;cout<<"请输入您的姓名或者手机号:"<<endl;cin>>compareItem;for(int i=0;i<80;i+)if(roomi.Name=compareItem|roomi.Phone=compareItem)co
18、ut<<"验证成功!请支付:"<<(roomi.Price*2)<<"元押金"<<endl;cout<<"请登记客户的身份证号:"<<endl;cin>>id_num;idNum=id_num;roomi.ID=idNum;cout<<"房间号为:" <<roomi.Number<<endl<<"欢迎入住!"<<endl<<endl;brea
19、k; ;class checkOutprivate:string name;int number;int days;int price;public:void checkout()int expense;cout<<"请输入房间号:"<<endl; cin>>number;cout<<"请输入姓名:"<<endl; cin>>name;cout<<"请输入实际住宿天数:"<<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<<"房间号为"<<roomi.Number<<"的房间实际消费为"<<expense<<"元"<<endl;cout<<"押金为:"<<roomi.Price<<endl;if(expense>
21、roomi.Price) cout<<"请补交"<<(expense-roomi.Price)<<"元"<<endl;else cout<<"退回:"<<(roomi.Price-expense)<<"元"<<endl; break;else cout<<roomi.Number<<"号房不符合"<<endl;cout<<"房费核算清后请安任意
22、键继续"<<endl<<endl; system("pause");cout<<"感谢入住本酒店,欢迎下次光临!"<<endl<<endl;void menu()cout<<"欢迎使用酒店管理系统!"<<endl;cout<<"请选择:"<<endl;cout<<"1.预定房间"<<endl;cout<<"2.办理入住"&l
23、t;<endl;cout<<"3.退房结账"<<endl;cout<<"4.退出系统"<<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<<"您有预定吗? 1.已预定 2.未预定"<<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<<"谢谢使用,再见!&
26、quot;<<endl; flag=0; break; default:cout<<"输入有误!"<<endl; return 0; O:最初废除版(利用数组)因为数组只能简单的储存一种类型的数据,例如字符和数字。而酒店管理系统这种情境,一个房间要储存多种数据,例如客户姓名、客户性别、预订房间号、客户预留手机号、客户占用天数、客户身份证号以及押金和实际花销等。因此我选用了结构体来储存。以下是Old version:#include<iostream>#include<string>using namespace s
27、td;int room_num420; /定义数组,共4个楼层,每个楼层20个房间,一层一类型class BookRoom /定义预定房间类 private:string cName; /顾客姓名int stayTime; /预定天数int roomType; /房间类型(1.标准单人间 2.大床房 3.标准双人间 4. 套房)string phoneNum; / 预留手机号(也可使用longint) public: void setData() string name; int time; int type; string num; cout<<"您好,请输入您的姓名:
28、"<<endl; cin>>name; cName=name;cout<<"预定天数为:"<<endl; cin>>time; stayTime=time;cout<<"想要预定的房间类型:1.标准单人间 2.大床房 3.标准双人间 4. 套房"<<endl; cin>>type; roomType=type;cout<<"预留手机号:"<<endl; cin>>num; phoneNum=nu
29、m;void Book()cout<<"正在预定."<<endl;switch(this->roomType)case 1:for(int i=0;i<20;i+)if (room_num1i=0) /房间无人占用且无人预定 cout<<"预定成功!房间号:10"<<i+1<<endl;room_num1i=1;break; /已被预订 else cout<<"该类型房间没有了"<<endl; break;case 2:for(int i=
30、0;i<20;i+) if(room_num2i=0) cout<<"预定成功!房间号:20"<<i+1<<endl;room_num2i=1; break;else cout<<"该类型房间没有了"<<endl; break;case 3:for(int i=0;i<20;i+)if(room_num3i=0) cout<<"预定成功!房间号:30"<<i+1<<endl;room_num3i=1; break;else co
31、ut<<"该类型房间没有了"<<endl; break;case 4:for(int i=0;i<20;i+)if(room_num4i=0) cout<<"预定成功!房间号:40"<<i+1<<endl;room_num4i=1; break;else cout<<"该类型房间没有了"<<endl; break;default:cout<<"您输入的房间类型有误!"<<endl; ;class Che
32、ckin /定义办理入住类private:string cName;string cSex;string cId; /身份证号 string phoneNum;int check_inDate; /入住时间 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<<"身份证号:"<<endl;cin>>id;cId=id;cout<<"手机号:"<<endl;cin>>num;phoneNum=num;cout<<"登记入住时间:"<<endl;cin>>date;check_inDate=date;cout<<"入住天数:"<<endl;cin>>time;stayTime=time;cout<<"房间号:"<<endl;cin>>room_num;Room_num=room_num; ;void Check()cout<<&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《珠宝玉石教程》课件
- 车辆租赁协议三篇
- 人力资源行业员工福利顾问工作总结
- 2003年海南高考语文真题及答案
- 水利行业的保安工作总结
- 2023-2024年企业主要负责人安全培训考试题附答案【培优】
- 2023年-2024年项目部安全培训考试题【易错题】
- 1000字的贫困申请书范文5篇
- 开题答辩概览
- 电灼伤护理查房
- 智能化施工管理平台
- 2024年国家能源集团江苏电力有限公司招聘笔试参考题库附带答案详解
- 江西省九江市2023-2024学年部编版九年级上学期期末历史试题(含答案)
- 山东省济南市2023-2024学年高三上学期期末学习质量检测物理试题(原卷版)
- 2024年新华人寿保险股份有限公司招聘笔试参考题库含答案解析
- 能源托管服务投标方案(技术方案)
- 2024年新奥集团股份有限公司招聘笔试参考题库含答案解析
- 乳头混淆疾病演示课件
- 高速公路涉路施工许可技术审查指南(一)
- 海南物流行业发展趋势分析报告
- 安全运维配置检查
评论
0/150
提交评论