




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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; 可以在声明 struct 的时候声明一个s
2、truct 实例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>>name; cName=name;cout
3、<<" 预定天数为: "<<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 Book()cout<<" 正
4、在预定 ."<<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.Number<<endl<<
5、;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、"<<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->phoneNum;roomi.Price*=this-&g
7、t;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=this->cName;roomi.Pho
8、ne=this->phoneNum;roomi.Price*=this->stayTime;cout<<" 预定成功! 房间号: "<<roomi.Number<<endl<<endl;roomi.State=1; break;else cout<<roomi.Number<<" 号房间已有人"<<endl;break;default:cout<<" 您输入的房间类型有误! "<<endl;class CheckIn
9、/定义办理入住类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>>name; cName=name;cout<&l
10、t;" 客户性别:"<<endl;cin>>sex; cSex=sex;cout<<" 客户身份证号: "<<endl; cin>>idnum; idNum=idnum;cout<<" 入住日期:"<<endl;cin>>date; check_inDate=date;cout<<" 占用天数:"<<endl;cin>>time;stayTime=time;cout<<&q
11、uot; 房间类型: 1.标准单人间 100/天 2.大床房200/天 3.标准双人间300/天 4.套房 400/天”<<endl; cin>>type;roomType=type;cout<<" 客户手机号: "<<endl; cin>>num; phoneNum=num;case 1:for(int i=0;i<20;i+) if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this-&
12、gt;phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<" 入住成功! 房间号: "<<roomi.Number<<endl<<endl;cout<<" 请支付 200 元押金 "<<endl<<endl;roomi.State=1;break;else cout<<"抱歉,该房间类型没有了 "<<endl;break;case 2:for
13、(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<<endl;cout<<”请支付 400 元押金"<<endl&l
14、t;<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->stayTime;roomi.ID=this->idNum;cout<<"入住成
15、功!房问号:"<<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.days=this->stayTime;roomi.Name=this->cName;roomi
16、.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<<"抱歉,该房间类型没有了 "<<endl;bre
17、ak;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)cout<<" 验 证 成 功 ! 请 支 付 : "&
18、lt;<(roomi.Price*2)<<" 元 押 金 "<<endl;cout<<" 请 登 记 客 户 的 身 份 证 号 : "<<endl;cin>>id_num;idNum=id_num;roomi.ID=idNum;cout<<" 房 间 号 为 : " <<roomi.Number<<endl<<" 欢 迎 入 住 ! "<<endl<<endl;break;cl
19、ass 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=0;i<80;i+
20、)if(roomi.Name=name) && (roomi.Number=number)expense=days*(roomi.Number/100*100);cout<<"房问号为"<<roomi.Number<<” 的房 间实际消费为 "<<expense<<"元"<<endl;cout<<"押金为:"<<roomi.Price<<endl;if(expense>roomi.Price) c
21、out<<" 请 补 交 "<<(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;for(int i=20;i<40;i+)coutvv” 请选择:"vvendl;cout«"1.预定房间II«endl;cout«"2.办理入住II«endl;cout«&quo
23、t;3.退房结账II«endl;cout«"4.退出系统II«endl;int n=101;for(int i=0;i<20;i+)roomi.Number=n+;roomi.Price=100;roomi.State=0;n=201;roomi.Number=n+;roomi.Price=200;roomi.State=0;n=301;for(int i=40;i<60;i+)roomi.Number=n+;roomi.Price=300;roomi.State=0;n=401;for(int i=60;i<80;i+)roomi.N
24、umber=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 CheckIn;cout<<" 您有预定吗?1.已预定2.未预定"<<endl;int c;cin>>c;switch(c) case
25、1:b->booked();break;case 2:b->unbooked();break;default:cout<<" 输入有误! "<<endl;break;case 3:checkOut *c=new checkOut;c->checkout();break;cout<<" 谢谢使用,再见! "<<endl;flag=0;break;default:cout<<" 输入有误! "<<endl;return 0;O : 最初废除版(利用数
26、组)因为数组只能简单的储存一种类型的数据, 例如字符和数字。 而酒店管理系统这种情境, 一个房间要储存多种数据,例如客户姓名、客户性别、预订房间号、客户预留手机号、 客户占用天数、客户身份证号以及押金和实际花销等。因此我选用了结构体来储存。以下是 Old version:#include<iostream>#include<string>using namespace std;int room_num420;/定义数组,共4 个楼层,每个楼层 20 个房间,一层一类class BookRoom/定义预定房间类private:string cName;/顾客姓名int s
27、tayTime;/预定天数int roomType;/房间类型(1.标准单人间2.大床房3.标准双人间 4. 套房)string phoneNum; / 预留手机号(也可使用longint)public:void setData()string name;int time;int type;string num;cout<<" 您好,请输入您的姓名: "<<endl; cin>>name; cName=name;cout<<" 预定天数为: "<<endl; cin>>time; s
28、tayTime=time;cout<<" 想要预定的房间类型: 1.标准单人间2.大床房3.标准双人间4. 套房 "<<endl; cin>>type; roomType=type;cout<<" 预留手机号: "<<endl; cin>>num; phoneNum=num;);void Book()(cout«"正在预定."«endl;switch(this->roomType)case 1 :for(int i=0;i<20;i
29、+)(if (room_num1i=0)房间无人占用且无人预定(coutvv” 预定成功!房问号:10”vvi+l vvendl;room_num1i=1;break;已被预订)else cout«"该类型房间没有了 "«endl;break;case 2:for(int i=0;i<20;i+)(if(room_num2i=0)(coutvv” 预定成功!房问号:20”vvi+l vvendl;room_num2i=1; break;) else coutvv”该类型房间没有了 "«endl;break;case 3:for(
30、int i=0;i<20;i+)(if(room_num3i=0)(cout<<"预定成功!房问号:30"<<i+1<<endl;room_num3i=1; break;else cout<<”该类型房间没有了 "<<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
31、cout<<”该类型房间没有了 "<<endl;break;default:cout<<"您输入的房间类型有误!"<<endl;class Checkin /定义办理入住类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 n
32、um;int date;int time;int room_num;cout«"客户姓名:"«endl;cin»name;cName=name;coutvv”性另(J: "«endl;cin»sex;cSex=sex;cout«"身份证号:"«endl;cin»id;cld=id;cout«"手机号:"«endl;cin»num;phoneNum=num;cout«"登记入住时间:"«endl;cin»date;check_inDate=date;cout«"入住天数:"«endl;cin»time;stayTime=time;cout«"房间号:"«
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年桂竹香项目市场调查研究报告
- 服务行业质量标准及保证措施
- 棍针拨筋疗法干预原发性痛经患者的疗效观察
- 扩展两腿玻色磁梯基态与手性动力学特性研究
- 高校行政管理流程及制度建设
- 高效低阻聚酰亚胺纳米纤维气凝胶的优化制备及性能研究
- 高校社团外联工作实施方案
- 新时代教师师德师风建设的实践与反思心得体会
- 2025年书法教师职业能力测试卷:书法教学评价体系构建与应用试题
- 九条中国非物质文化遗产的特色解读:三年级人文地理课教案
- 银行背债协议书
- 非洲地理课件
- 军队文职考试试题及答案
- 【公开课】巴西+课件-2024-2025学年七年级地理下学期人教版
- 10.3 保障财产权 课件-2024-2025学年统编版道德与法治七年级下册
- 2025-2030中国表面声波(SAW)滤波器行业市场发展趋势与前景展望战略研究报告
- 国际压力性损伤-溃疡预防和治疗临床指南(2025年版)解读课件
- 2024年首都机场集团招聘笔试参考题库附带答案详解
- 小学思政课《爱国主义教育》
- 航空煤油 MSDS 安全技术说明书
- 三个股东合作协议书
评论
0/150
提交评论