C++版酒店管理程序代码培训讲学_第1页
C++版酒店管理程序代码培训讲学_第2页
C++版酒店管理程序代码培训讲学_第3页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序代码N:最终改进版代码(利用结构体储存多种类型的数据)好处:比数组能储存更多类型的数据!#include#include#include常用函数库usingnamespacestd;/*在c+中struct和类的区别在于struct不能有方法,所有成员是public的*/structRoomintNumber;intPrice;intState;intdays;stringName;stringPhone;stringID;/room;可以在声明struct的时候声明一个struct实例Roomroom80;classBookRoom定义预定房间类(private:stringcName;

2、顾客姓名intstayTime;预定天数introomType;房间类型(1.标准单人问2.大床房3.标准双人问4.套房)stringphoneNum;/预留手机号public:voidsetData()(stringname;inttime;inttype;stringnum;cout”您好,请输入您的姓名:name;cName=name;cout”预定天数为:time;stayTime=time;cout想要预定的房间类型:1.标准单人问100/天2.大床房200/天3.标准双人问300/天4.套房400/天”type;roomType=type;cout预留手机号:num;phoneNu

3、m=num;voidBook()(cout正在预定.roomType)(case1:for(inti=0;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;cout预定成功!房间号:roomi.Numberendlendl;roomi.State=1;break;已被预订elsecoutroomi.Number号房间已有人endl;break;case2:for(inti=20;istayTime;roomi.Name=this-cName;roomi.Phone=this-

4、phoneNum;roomi.Price*=this-stayTime;cout预定成功!房间号:roomi.Numberendlendl;roomi.State=1;break;elsecoutroomi.Number号房间已有人endl;break;case3:for(inti=40;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;cout预定成功!房间号:roomi.Numberendlendl;roomi.State=1;break;elsecoutroomi.Nu

5、mber号房间已有人endl;break;case4:for(inti=60;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;cout预定成功!房间号:roomi.Numberendlendl;roomi.State=1;break;elsecoutroomi.Number号房间已有人endl;break;default:cout您输入的房间类型有误!endl;classCheckIn定义办理入住类(private:stringcName;stringcSex;string

6、idNum;身份证号intcheck_inDate;入住日期intstayTime;introomType;stringphoneNum;public:voidunbooked()stringname;stringsex;stringidnum;intdate;inttime;inttype;stringnum;cout客户姓名:name;cName=name;cout客户性别:sex;cSex=sex;cout客户身份证号:idnum;idNum=idnum;cout入住日期:date;check_inDate=date;cout占用天数:time;stayTime=time;cout房间类

7、型:1.标准单人问100/天2.大床房200/天3.标准双人问300/天4.套房400/天type;roomType=type;cout客户手机号:num;phoneNum=num;switch(this-roomType)(case1:for(inti=0;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房间号:roomi.Numberendlendl;cout请支付200元押金endlendl;roomi.Sta

8、te=1;break;elsecout抱歉,该房间类型没有了endl;break;case2:for(inti=20;istayTime;roomi.Name=this-cName;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房间号:roomi.Numberendlendl;cout请支付400元押金endlendl;roomi.State=1;break;elsecout抱歉,该房间类型没有了endl;break;case3:for(inti=40;istayTime;roomi.Name=this-cName;roomi.

9、Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout入住成功!房间号:roomi.Numberendlendl;cout请支付600元押金endlendl;roomi.State=1;break;elsecout抱歉,该房间类型没有了endl;break;case4:for(inti=60;istayTime;roomi.Name=this-cName;roomi.Phone=this-phoneNum;roomi.Price*=this-stayTime;roomi.ID=this-idNum;cout

10、入住成功!房间号:roomi.Numberendlendl;cout请支付800元押金endlendl;roomi.State=1;break;elsecout抱歉,该房间类型没有了endl;break;default:cout您输入的房间类型有误!endl;voidbooked()stringcompareitem;stringid_num;cout请输入您的姓名或者手机号:compareitem;for(inti=0;i80;i+)(if(roomi.Name=compareitem|roomi.Phone=compareitem)(cout验证成功!请支付:(roomi.Price*2)

11、元押金endl;cout请登记客户的身份证号:id_num;idNum=id_num;roomi.iD=idNum;cout房间号为:roomi.Numberendl欢迎入住!endlendl;break;classcheckOut(private:stringname;intnumber;intdays;intprice;public:voidcheckout()(intexpense;cout请输入房间号:number;cout请输入姓名:name;cout请输入实际住宿天数:days;for(inti=0;i80;i+)if(roomi.Name=name)&(roomi.Number=

12、number)expense=days*(roomi.Number/100*100);cout房间号为roomi.Number”的房间实际消费为expense元endl;cout押金为:roomi.Priceroomi.Price)cout请补交(expense-roomi.Price)元endl;elsecout退回:(roomi.Price-expense)元endl;break;elsecoutroomi.Number”号房不符合endl;cout房费核算活后请安任意键继续endlendl;system(pause);cout感谢入住本洒店,欢迎下次光临!endlendl;voidmen

13、u()cout欢迎使用洒店管理系统!endl;cout请选择:endl;cout1.预定房间endl;cout2.办理入住endl;cout3.退房结账endl;cout4.退出系统endl;voidinit()intn=101:for(inti=0;i20;i+)roomi.Number=n+;roomi.Price=100;roomi.State=0;)n=201;roomi.Number=n+;roomi.Price=200;roomi.State=0;n=301;for(inti=40;i60;i+)(roomi.Number=n+;roomi.Price=300;roomi.Stat

14、e=0;n=401;for(inti=60;ic;switch(c)(case1:(BookRoom*a=newBookRoom;a-setData();a-Book();break;case2:(CheckIn*b=newCheckIn;cout您有预定吗?1.已预定2.未预定”c;switch(c)(case1:(b-booked();break;case2:(b-unbooked();break;default:cout”输入有误!checkout();break;case4:cout谢谢使用,再见!endl;flag=0;break;default:cout输入有误!endl;retu

15、rn0;O:最初废除版(利用数组)因为数组只能简单的储存一种类型的数据,例如字符和数字。而洒店管理系统这种情境,一个房间要储存多种数据,例如客户姓名、客户性别、预订房间号、客户预留手机号、客户占用天数、客户身份证号以及押金和实际花销等。因此我选用了结构体来储存。以下是Oldversion:#include#includeusingnamespacestd;introom_num420;定义数组,共4个楼层,每个楼层20个房间,一层一类classBookRoom(private:定义预定房间类stringcName;顾客姓名intstayTime;预定天数introomType;房间类型(1.标

16、准单人问2.大床房3.标准双人问4.套房)stringphoneNum;/预留手机号(也可使用longint)public:voidsetData()(stringname;inttime;inttype;stringnum;cout”您好,请输入您的姓名:name;cName=name;cout”预定天数为:time;stayTime=time;cout想要预定的房间类型:1.标准单人问2.大床房3.标准双人问4.套房type;roomType=type;cout预留手机号:num;phoneNum=num;voidBook()cout正在预定.vvendl;switch(this-room

17、Type)case1:for(inti=0;i20;i+)if(room_num1i=0)房间无人占用且无人预定(cout预定成功!房间号:10i+1endl;room_num1i=1;break;已被预订elsecout该类型房间没有了endl;)break;case2:for(inti=0;i20;i+)if(room_num2i=0)cout预定成功!房间号:20i+1endl;room_num2i=1;break;)elsecout该类型房间没有了endl;break;case3:for(inti=0;i20;i+)(if(room_num3i=0)(cout预定成功!房间号:30”i

18、+1endl;room_num3i=1;break;elsecout该类型房间没有了endl;break;case4:for(inti=0;i20;i+)(if(room_num4i=0)(cout预定成功!房间号:40i+1endl;room_num4i=1;break;elsecout该类型房间没有了endl;break;default:cout您输入的房间类型有误!endl;classCheckin定义办理入住类(private:stringcName;stringcSex;stringcId;身份证号stringphoneNum;intcheck_inDate;/入住时间intstay

19、Time;intRoom_num;public:voidsetData()(stringname;stringsex;stringid;stringnum;intdate;inttime;introom_num;cout客户姓名:endl;cinname;cName=name;cout性别:endl;cinsex;cSex=sex;cout身份证号:endl;cinid;cld=id;cout手机号:endl;cinnum;phoneNum=num;cout登记入住时间:endl;cindate;check_inDate=date;cout入住天数:endl;cintime;stayTime=time;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论