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

下载本文档

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

文档简介

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

2、om80;class BookRoom/定义预定房间类private:stringcName;/顾客姓名intstayTime;/预定天数introomType;/房间类型(1.标准单人间2.大床房3.标准双人间4.套房)stringphoneNum;/预留手机号public:voidsetData()stringname;inttime;inttype;stringnum;cout<<"您好,请输入您的姓名:"<<endl;cin>>name;cName=name;cout<<"预定天数为:"<&l

3、t;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;voidBook()cout<<"正在预定."<<endl;switch(this->roomType)

4、case1:for(inti=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<<endl;roomi.State=1;break;/已被预订elsecout<<roomi.Nu

5、mber<<"号房间已有人"<<endl;break;case2:for(inti=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<<"预定成功!房间号:"<<roomi.Number<<endl<<endl;roomi.State

6、=1;break;elsecout<<roomi.Number<<"号房间已有人"<<endl;break;case3:for(inti=40;i<60;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;cout<<"预定成功!房间号:"<<roomi.Number<

7、;<endl<<endl;roomi.State=1;break;elsecout<<roomi.Number<<"号房间已有人"<<endl;break;case4:for(inti=60;i<80;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this->phoneNum;roomi.Price*=this->stayTime;cout<<"预定成功!

8、房间号:"<<roomi.Number<<endl<<endl;roomi.State=1;break;elsecout<<roomi.Number<<"号房间已有人"<<endl;break;default:cout<<"您输入的房间类型有误!"<<endl;classCheckIn/定义办理入住类private:stringcName;stringcSex;stringidNum;/身份证号intcheck_inDate;/入住日期intstay

9、Time;introomType;stringphoneNum;public:voidunbooked()stringname;stringsex;stringidnum;intdate;inttime;inttype;stringnum;cout<<"客户姓名:"<<endl;cin>>name;cName=name;cout<<"客户性别:"<<endl;cin>>sex;cSex=sex;cout<<"客户身份证号:"<<endl;c

10、in>>idnum;idNum=idnum;cout<<"入住日期:"<<endl;cin>>date;check_inDate=date;cout<<"占用天数:"<<endl;cin>>time;stayTime=time;cout<<"房间类型:1.标准单人间100/天2.大床房200/天3.标准双人间300/天4.套房400/天”<<endl;cin>>type;roomType=type;cout<<&q

11、uot;客户手机号:"<<endl;cin>>num;phoneNum=num;switch(this->roomType)case1:for(inti=0;i<20;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<<"入住成功!房间号:"

12、<<roomi.Number<<endl<<endl;cout<<"请支付200元押金"<<endl<<endl;roomi.State=1;break;elsecout<<"抱歉,该房间类型没有了"<<endl;break;case2:for(inti=20;i<40;i+)if(roomi.State=0)roomi.days=this->stayTime;roomi.Name=this->cName;roomi.Phone=this-&

13、gt;phoneNum;roomi.Price*=this->stayTime;roomi.ID=this->idNum;cout<<"入住成功!房问号:"<<roomi.Number<<endl<<endl;cout<<”请支付400元押金"<<endl<<endl;roomi.State=1;break;elsecout<<"抱歉,该房间类型没有了"<<endl;break;case3:for(inti=40;i<6

14、0;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<<”请支付600元押金"<<endl<<endl;roomi.S

15、tate=1;break;elsecout<<"抱歉,该房间类型没有了"<<endl;break;case4:for(inti=60;i<80;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<<"入住成功!房间号:"<<ro

16、omi.Number<<endl<<endl;cout<<"请支付800元押金"<<endl<<endl;roomi.State=1;break;elsecout<<"抱歉,该房间类型没有了"<<endl;break;default:cout<<"您输入的房间类型有误!"<<endl;voidbooked()stringcompareItem;stringid_num;cout<<"请输入您的姓名或者手机号

17、:"<<endl;cin>>compareItem;for(inti=0;i<80;i+)if(roomi.Name=compareItem|roomi.Phone=compareItem)cout<<"验证成功!请支付:"<<(roomi.Price*2)<<"元押金"<<endl;cout<<"请登记客户的身份证号:"<<endl;cin>>id_num;idNum=id_num;roomi.ID=idNum

18、;cout<<"房间号为:"<<roomi.Number<<endl<<"欢迎入住!"<<endl<<endl;break;classcheckOutprivate:stringname;intnumber;intdays;intprice;public:voidcheckout()intexpense;cout<<"请输入房问号:"<<endl;cin>>number;cout<<"请输入姓名:"

19、;<<endl;cin>>name;cout<<”请输入实际住宿天数:"<<endl;cin>>days;for(inti=0;i<80;i+)if(roomi.Name=name)&&(roomi.Number=number)expense=days*(roomi.Number/100*100);cout<<"房问号为"<<roomi.Number<<”的房间实际消费为"<<expense<<"元&qu

20、ot;<<endl;cout<<"押金为:"<<roomi.Price<<endl;if(expense>roomi.Price)cout<<"请补交"<<(expense-roomi.Price)<<"元"<<endl;elsecout<<"退回:"<<(roomi.Price-expense)<<"元"<<endl;break;elsecout

21、<<roomi.Number<<"号房不符合"<<endl;cout<<"房费核算清后请安任意键继续"<<endl<<endl;system("pause");cout<<"感谢入住本酒店,欢迎下次光临!"<<endl<<endl;);voidmenu()(cout<<"欢迎使用酒店管理系统!"<<endl;cout<<"请选择:"&

22、lt;<endl;cout<<"1.预定房间"<<endl;cout<<"2.办理入住"<<endl;cout<<"3.退房结账"<<endl;cout<<"4.退出系统"<<endl;)voidinit()(intn=101;for(inti=0;i<20;i+)(roomi.Number=n+;roomi.Price=100;roomi.State=0;n=201;for(inti=20;i<40;

23、i+)(roomi.Number=n+;roomi.Price=200;roomi.State=0;n=301;for(inti=40;i<60;i+)(roomi.Number=n+;roomi.Price=300;roomi.State=0;n=401;for(inti=60;i<80;i+)(roomi.Number=n+;roomi.Price=400;roomi.State=0;intmain(void)init();intflag=1;while(flag)menu();intc;cin>>c;switch(c)case 1:BookRoom*a=newBo

24、okRoom;a->setData();a->Book();break;case 2:CheckIn*b=newCheckIn;cout<<"您有预定吗?1.已预定2.未预定"<<endl;intc;cin>>c;switch(c)case 1:b->booked();break;case 2:b->unbooked();break;default:cout<<"输入有误!"<<endl;break;case 3:checkOut*c=newcheckOut;c->

25、checkout();break;case 4:cout<<"谢谢使用,再见!"<<endl;flag=0;break;default:cout<<"输入有误!"<<endl;return0;O:最初废除版(利用数组)因为数组只能简单的储存一种类型的数据,例如字符和数字。而酒店管理系统这种情境,一个房间要储存多种数据,例如客户姓名、客户性别、预订房间号、客户预留手机号、客户占用天数、客户身份证号以及押金和实际花销等。因此我选用了结构体来储存。以下是Oldversion:#include<iostrea

26、m>#include<string>usingnamespacestd;introom_num420;/定义数组,共4个楼层,每个楼层20个房间,一层一类型classBookRoom/定义预定房间类private:stringcName;/顾客姓名intstayTime;/预定天数int roomType; /房间类型(1.标准单人间2.大床房3.标准双人间4.套房)stringphoneNum;/预留手机号(也可使用longint)public:voidsetData()stringname;inttime;inttype;stringnum;cout<<&qu

27、ot;您好,请输入您的姓名:"<<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=num;v

28、oidBook()cout<<"正在预定."<<endl;switch(this->roomType)case1:for(inti=0;i<20;i+)if(room_num1i=0)/房间无人占用且无人预定cout<<"预定成功!房问号:10"<<i+1<<endl;room_num1i=1;break;/已被预订elsecout<<"该类型房间没有了"<<endl;break;case2:for(inti=0;i<20;i+)if

29、(room_num2i=0)cout<<"预定成功!房问号:20"<<i+1<<endl;room_num2i=1;break;elsecout«"该类型房间没有了"«endl;break;case3:for(inti=0;i<20;i+)(if(room_num3i=0)(coutvv”预定成功!房问号:30"«i+1«endl;room_num3i=1;break;)elsecout«"该类型房间没有了"«endl;br

30、eak;case4:for(inti=0;i<20;i+)(if(room_num4i=0)(coutvv”预定成功!房问号:40"«i+1«endl;room_num4i=1;break;)elsecout«"该类型房间没有了"«endl;break;default:cout<<"您输入的房间类型有误!"<<endl;classCheckin/定义办理入住类private:stringcName;stringcSex;stringcId;/身份证号stringphoneNu

31、m;intcheck_inDate;/入住时间intstayTime;intRoom_num;public:voidsetData()stringname;stringsex;stringid;stringnum;intdate;inttime;introom_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«"房间号:"«endl;cin»room_num;Room_num=room_num;);void

温馨提示

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

评论

0/150

提交评论