书签 分享 收藏 举报 版权申诉 / 16
上传文档赚钱

类型C++版酒店管理程序代码.docx

  • 上传人(卖家):四川三人行教育
  • 文档编号:1520162
  • 上传时间:2021-06-28
  • 格式:DOCX
  • 页数:16
  • 大小:21.23KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C++版酒店管理程序代码.docx》由用户(四川三人行教育)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C+ 酒店 管理 程序代码
    资源描述:

    1、程序代码 N:最终改进版代码(利用结构体储存多种类型的数据) 好处:比数组能储存更多类型的数据! #include #include #include/ 常用函数库 using namespace std; /*在 C+中 struct 和类的区别在于 struct 不能有方法,所有成员是 public 的*/ struct Room int Number; int Price; int State; int days; string Name; string Phone; string ID; ;/room;可以在声明 struct 的时候声明一个 struct 实例 Room room80

    2、; 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; coutvv您好,请输入您的姓名:vvendl;cinname; cName=name; coutvv预定天数为:vvendl; cintime; stayTime=tim

    3、e; coutvv想要预定的房间类型:1标准单人间 100/天 2.大床房 200/天 3 标 准双人间 300/天 4套房 400/天vvendl;cintype; roomType=type; coutvv预留手机号:vvendl;cinnum; phoneNum=num; ; void Book() coutvv正在预定vvendl; switch(this-roomType) case 1:for(int i=0;iv20;i+) if (roomi.State=0)/房间无人占用且无人预定 roomi.days=this-stayTime; roomi.Name=this-cName

    4、; roomi.Phone=this-phoneNum; roomi.Price*=this-stayTime; coutvv预定成功!房间号:vvroomi.Numbervvendlvvendl; roomi.State=1;break;/已被预订 else coutvvroomi.Numbervv号房间已有人vvendl; break; case 2:for(int i=20;iv40;i+) if(roomi.State=0) roomi.days=this-stayTime; roomi.Name=this-cName; roomi.Phone=this-phoneNum; roomi

    5、.Price*=this-stayTime; coutvv预定成功!房间号:vvroomi.Numbervvendlvvendl; roomi.State=1; break; else coutvvroomi.Numbervv号房间已有人vvendl; break; case 3:for(int i=40;iv60;i+) if(roomi.State=0) roomi.days=this-stayTime; roomi.Name=this-cName; roomi.Phone=this-phoneNum; roomi.Price*=this-stayTime; coutvv预定成功!房间号:

    6、vvroomi.Numbervvendlvvendl; roomi.State=1; break; else coutvvroomi.Numbervv号房间已有人vvendl; break; case 4:for(int i=60;iv80;i+) if(roomi.State=0) roomi.days=this-stayTime; roomi.Name=this-cName; roomi.Phone=this-phoneNum; roomi.Price*=this-stayTime; coutvv预定成功!房间号:vvroomi.Numbervvendlvvendl; roomi.Stat

    7、e=1; break; else coutvvroomi.Numbervv号房间已有人vvendl; break; default:coutvv您输入的房间类型有误! vvendl; ; ; 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 id

    8、num; int date; int time; int type; string num; coutvv客户姓名:vvendl; cinname; cName=name; coutvv客户性别:vvendl; cinsex; cSex=sex; coutvv客户身份证号: vvendl; cinidnum; idNum=idnum; coutvv入住日期:vvendl; cindate; check_inDate=date; coutvv占用天数:vvendl; cintime;stayTime=time; coutvv房间类型:1标准单人间 100/天 2大床房 200/天 3标准双人间

    9、300/天 4.套房 400/天vvendl; cintype;roomType=type; coutvv客户手机号:vvendl; cinnum; phoneNum=num; switch(this-roomType) case 1:for(int i=0;iv20;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; coutvv入住成功!房间号:vvr

    10、oomi.Numbervvendlvvendl; coutvv请支付 200 元押金vvendlvvendl; roomi.State=1; break; else coutvv抱歉,该房间类型没有了 vvendl; break; case 2:for(int i=20;iv40;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; coutvv入住成功!房

    11、间号:vvroomi.Numbervvendlvvendl; coutvv请支付 400 元押金vvendlvvendl; roomi.State=1; break; else coutvv抱歉,该房间类型没有了 vvendl; break; case 3:for(int i=40;istayTime; roomi.Name=this-cName; roomi.Phone=this-phoneNum; roomi.Price*=this-stayTime; roomi.ID=this-idNum; coutvv入住成功!房间号:vvroomliJ.Numbervvendlvvendl; cou

    12、tvv请支付 600 元押金vvendlvvendl; roomi.State=1; break; else coutvv抱歉,该房间类型没有了 vvendl; break; case 4:for(int i=60;iv80;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; coutvv入住成功!房间号:vvroomi.Numbervvendlvvend

    13、l; coutvv请支付 800 元押金vvendlvvendl; roomi.State=1; break; else coutvv抱歉,该房间类型没有了 vvendl; break; default:coutvv您输入的房间类型有误! vvendl; void booked() string compareItem; string id_num; coutvv请输入您的姓名或者手机号:vvendl;cincompareItem; for(int i=0;iv80;i+) if(roomi.Name=compareItem|roomi.Phone=compareItem) coutvv 验

    14、证 成 功 ! 请 支 付 : vv(roomi.Price*2)vv 元 押 金 vvendl; coutvv 请 登 记 客 户 的 身 份 证 号 : vvendl;cinid_num;idNum=id_num;roomi.ID=idNum; coutvv 房 间 号为 : vvroomi.Numbervvendlvv 欢 迎入 住! vvendlvvendl; break; ; class checkOut private: string name; int number; int days; int price; public: void checkout() int expense

    15、; coutvv请输入房间号:vvendl; cinnumber; coutvv请输入姓名:vvendl; cinname; coutvv请输入实际住宿天数:vvendl; cindays; for(int i=0;iv80;i+) if(roomi.Name=name) coutvv 房 间 号 为 vvroomi.Numbervv 的 房 间 实 际 消 费 为 vvexpensevv元vvendl; coutvv押金为:vvroomi.Pricevvendl; if(expenseroomi.Price) coutvv 请 补 交 vv(expense-roomi.Price)vv元vv

    16、endl; else coutvv 退 回 : vv(roomi.Price-expense)vv 元 vvendl; break; else coutvvroomi.Numbervv号房不符合vvendl; coutvv房费核算清后请安任意键继续vvendlvvendl; system(pause); co utvv 感谢入住本酒店,欢迎下次光临! vvendlvvendl; ; void menu() coutvv欢迎使用酒店管理系统!vvendl; coutvv请选择:vvendl; coutvv1.预定房间vvendl; coutvv2.办理入住vvendl; coutvv3.退房结账

    17、vvendl; coutvv4.退出系统vvendl; void init() int n=101; for(int i=0;iv20;i+) roomi.Number=n+; roomi.Price=100; roomi.State=0; n=201; for(int i=20;iv40;i+) roomi.Number=n+; roomi.Price=200; roomi.State=0; n=301; for(int i=40;iv60;i+) roomi.Number=n+; roomi.Price=300; roomi.State=0; n=401; for(int i=60;iv8

    18、0;i+) roomi.Number=n+; roomi.Price=400; roomi.State=0; int main(void) init(); int flag=1; while(flag) menu(); int c; cinc; switch(c) case 1: BookRoom*a=new BookRoom; a-setData(); a-Book(); break; case 2: CheckIn*b=new CheckIn; coutvv您有预定吗?1.已预定 2未预定vvendl; int c; cinc; switch(c) case 1: b-booked();

    19、break; case 2: b-unbooked(); break; default:coutvv输入有误! vvendl; break; case 3: checkOut *c=new checkOut; c-checkout(); break; case 4: coutvv谢谢使用,再见! vvendl; flag=0; break; default:coutvv输入有误! vvendl; return 0; O:最初废除版(利用数组) 因为数组只能简单的储存一种类型的数据,例如字符和数字。而酒店管理系统这种情境,一 个房间要储存多种数据,例如客户姓名、客户性别、预订房间号、客户预留手机

    20、号、 客户占 用天数、客户身份证号以及押金和实际花销等。因此我选用了结构体来储存。 以下是 Old version: #includeviostream #includevstring using namespace std; int room_num420; 型 /定义数组,共 4 个楼层,每个楼层 20 个房间,一层一类 class BookRoom/定义预定房间类 private: string cName; int stayTime; int roomType; /顾客姓名 /预定天数 /房间类型( 1.标准单人间 2.大床房 3.标准双人间 4. 套房) string phoneNu

    21、m; / 预留手机号 (也可使用 longint) public: void setData() string name; int time; int type; string num; coutvv您好,请输入您的姓名: vvendl; cinname; cName=name; coutvv预定天数为:vvendl; cintime; stayTime=time; coutvv想要预定的房间类型:1标准单人间 2大床房 3标准双人间 4.套 房 vvendl; cintype; roomType=type; coutvv预留手机号:vvendl; cinnum; phoneNum=num;

    22、; void Book() coutvv正在预定vvendl; switch(this-roomType) case 1:for(int i=0;iv20;i+) if (room_num1i=0)/房间无人占用且无人预定 coutvv预定成功!房间号:10vvi+lvvendl; room_num1i=1;break; /已被预订 else coutvv该类型房间没有了 vvendl; break; case 2:for(int i=0;iv20;i+) if(room_num2i=0) coutvv预定成功!房间号:20vvi+lvvendl; room_num2i=1; break; e

    23、lse coutvv该类型房间没有了 vvendl; break; case 3:for(int i=0;iv20;i+) if(room_num3i=0) coutvv预定成功!房间号:30vvi+lvvendl; room_num3i=1; break; else coutvv 该类型房间没有 了 break; case 4:for(int i=0;iv20;i+) if(room_num4i=0) coutvv预定成功!房间号: room_num4i=1; break; else coutvv 该类型房间没有 了 break; default:coutvv您输入的房间类型有 误! ; ;

    24、 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 num; int date; int time; int room_num; coutvv客户姓名:vvendl;cinname;cName=name; vvendl; 40vvi

    25、+1vvendl; vvendl; vvendl; coutvv性别:vvendl;cinsex;cSex=sex; coutvv身份证号:vvendl;cinid;cId=id; coutvv手机号:vvendl;cinnum;phoneNum=num; coutvv登记入住时间:vvendl;cindate;check_inDate=date; coutvv入住天数:vvendl;cintime;stayTime=time; coutvv房间号:vvendl;cinroom_num;Room_num=room_num; ; void Check() coutvv正在办理vvendl; sw

    26、itch(Room_num/100) case 1: coutvv办理成功!共计消费:vvl00*stayTimevvendl; break; case 2: coutvv办理成功!共计消费:vv200*stayTimevvendl; break; case 3: coutvv办理成功!共计消费:vv300*stayTimevvendl; break; case 4: coutvv办理成功!共计消费:vv400*stayTimevvendl; break; default:coutvv输入错误! vvendl; ; ; void menu() coutvv欢迎使用酒店管理系统! vvendl;

    27、 coutvv请选择:vvendl; coutvv1.预定房间vvendl; coutvv2.办理入住vvendl; coutvv3.退房结账vvendl; coutvv4.退出系统vvendl; int main(void) for(int i=0;iv4;i+) for(int j=0;jv20;j+) room_numij=0; int flag=1; while(flag) menu(); int c; cinc; switch(c) case 1: BookRoom*a=new BookRoom; a-setData(); a-Book(); break; case 2: Checkin*b=new Checkin; b-setData(); b-Check(); break; /case3 to do case 4: coutvv谢谢使用,再见! vvendl; flag=0; break; default:coutvv输入有误! vvendl; return 0;

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C++版酒店管理程序代码.docx
    链接地址:https://www.163wenku.com/p-1520162.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库