题目:**

设计两个酒店管理员客房管理的类:一个是Person类,要求储存房号、客户姓名和身份证号的信息;另一个类是Client类,要求新增客户的订房、退房和消费金额等信息,并给出相关测试算法。

**
编程要求:
(1)具有订房功能:增添客户的信息到相应的房号。包括姓名、身份证号码、开房时间,预计订房的时间;
(2)具有退房功能:计算客户的消费时间以及其他的消费项目(如订餐服务),结算客户的消费金额;删除相应房号内的客户信息。
(3)输入有效性验证,假设酒店客房有一百间。

#include <iostream>
using std::cout, std::cin, std::endl;//Person类用于存储客户姓名,身份证号,房号
class Person{long long roomNumber, Idcard;char name[21];
public:void create(int i);
};//Client用于存储客户订房,退房,房费
class Client{double monetary = 0, StayTime;char order;//判断是否订餐bool Order = 0;
public:void roomMassage(int); //记录房间消费信息double Money(); //计算消费金额
};
void Person::create(int i){cout << "Please send the name and IDcard:\n";scanf("%s",name);cin >> Idcard;roomNumber = i+1;
}
void Client::roomMassage(int i){cout << "How long do you want to make a reservation?(200RMB each day)\n";cin >> StayTime;cin.ignore();cout << "Do you want to make a order of food?(50RMB each day)(Y/N)\n";char order;cin >> order;if (order == 'Y') Order = 1;
}
double Client::Money(){monetary = StayTime * 200;if(Order != 0) monetary += StayTime * 50;return monetary;
}
int main(void) {int n;cout << "How many rooms do you want to book?(One room for one person)" << endl;cin >> n;if(n > 100 || n <= 0) { cout << "Error!\n"; exit(0);} //只有一百间房Person *p1 = new Person[n];//看我的魔幻操作//新建房客for(int i = 0; i < n; i++){ (*(p1+i)).create(i);}Client *p2 = new Client[n];for(int i = 0; i < n; i++){(*(p2+i)).roomMassage(i);}//判断是否退房bool flag = 0; char Flag;cout << "Do you want to check out?(Y/N)";cin >> Flag;if(Flag == 'Y') flag = 1;double total = 0; // total是全部费用if(!flag){int i = 0;for(i = 0; i < n; i++){total += (*(p2+i)).Money();}cout << "您一共消费 " << total <<" 元."<< endl <<"感谢您的入住!\n" << "期待您的下次光临!\n ";}//释放空间delete []p1;delete []p2;return 0;
}

这个代码还是存在一些问题,比如不能全部实现题目要求,欢迎大家在评论区和我交流~

c++实验题:设计两个酒店管理员客房管理的类:一个是Person类,要求储存房号、客户姓名和身份证号的信息;另一个类是Client类,要求新增客户的订房、退房和消费金额等信息,并给出相关测试算法。相关推荐

  1. 设计银行项目中的注册银行用户基本信息的类,包括账户卡号、姓名、身份证号、联系电话、家庭住址。

    什么是类和对象? 类是模子,确定对象会拥有的特征(属性)和行为(方法),类的特点:类是对象的类型,具有相同属性和方法的一组对象的集合.对象是类的实例,什么是对象的属性?属性是对象拥有的各种特征:每个对 ...

  2. java:模拟酒店订房,退房,打印所有房间状态等功能

    要求: 1.使用二维数组来模拟酒店 2.酒店中每一个房间都是一个对象 3.每一个房间都应该有:房间编号,房间类型,房间状态 4.系统对外提供的功能: 可以查看房间状态: 可以订房退房. (以下有程序截 ...

  3. 18.网络技术——BGP的原理+实验题(后附练习题)

    目录 1. BGP的概述 1.1 BGP消息类型及状态转换 1.2 BGP路由通告原则 1.3 BGP路径矢量特征 1.4 BGP协议特征 1.5 BGP Peer 1.6 IBGP 水平分割规则 1 ...

  4. 设计一个学校在册人员类(Person)。数据成员包括身份证号(IdPerson)、姓名(Name)、性别(Sex)、生日(Birth-day)和家庭住址(HomeAddress)。成员函数包括人员信息

    在1设计一个学校在册人员类(Person).数据成员包括身份证号(IdPerson).姓名(Name).性别(Sex).生日(Birth-day)和家庭住址(HomeAddress).成员函数包括人员 ...

  5. 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。 1、该系统的用户是:酒店前台。 2、酒店使用一个二维数组来模拟。“Room[][] roo

    代码 房间类 package com.bjpowernode.javase.day23homework; //每一个房间Room应该有:房间编号.房间类型.房间是否空闲 public class Ro ...

  6. 为某个酒店编写程序:酒店管理系统,模拟订房、退房、打印所有房间状态等功能。

    问题描述: 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能. 1.该系统的用户是:酒店前台. 2.酒店使用一个二维数组来模拟."Room[][] rooms;&qu ...

  7. 无理由退房退机票,做携程超级会员就是这么任性

    行程有变,想退掉预订的酒店?旅行计划调整,想退掉已经订好的机票? 这些都是旅行达人和商务人士出门经常碰到的问题,也是旅行中的常见槽点和痛点. 近日,携程高调宣布再度升级其"超级会员权益&qu ...

  8. 借助传感器用计算机测速度实验题,专家分析2015年高考命题趋势 内容设计将再创新...

    [摘要]2015年高考在力求继续平稳过渡的同时,在试题内容设计上会进一步创新,试题将仍以基础知识为主,能力考查会继续强化. 每日甘肃网-西部商报讯 (记者郭涛)高考(微博)改革方案今年已经出炉,虽然我 ...

  9. 【Google】【内部样式表】【外部样式表:听力地点方向题】【设置字体间距】【多类、子元素选择器】【网页设计与网站开发HTML、CSS、JavaScript】【第 8 章】CSS基础——实验题1-6

    以下为本人大一选修课<网页设计与网站开发>的实验作业题,均为本人原创,分享给大家.如有不足之处欢迎指出. 目录 实验1 1.题目 2.代码 3.网页运行效果 实验2 1.题目 2.代码 3 ...

  10. Axure 进阶 | 制作携程网酒店“入住日期”与“退房日期”控件

    ​ 本次教程学习制作时间控件选择,根据选择的日期,在输入框中显示所选择的日期.制作内容包括携程网的酒店"入住日期"时间控件与"退房日期"时间控件. 部件使用:动 ...

最新文章

  1. python2执行程序内存溢出导致被killed的问题因果分析
  2. php使用office modi吗,使用phpoffice/phpexcel拓展读取excel内容卡死解决
  3. 第三次spring冲刺1
  4. Ubuntu下面apache2安装
  5. pdf文件的处理(弄成小容量大小的文本文件)
  6. VS2010与VS2012变化的快捷键
  7. EXCEL VBA 操作图表
  8. 程序员的 10 款代码表白特效,一个比一个浪漫
  9. 基于微信小程序的点餐系统
  10. mathtype2022数学公式编辑器快捷键及操作技巧分享教程
  11. 迈高图手机版_迈高图(地图数据下载器)
  12. 简述u盘安装计算机系统的方法,电脑系统安装常见的两种方式(U盘)
  13. Allegro 铜皮分割 详解
  14. 安卓源码目录最全解析
  15. 美国公布自动驾驶新政AV4.0;微软Access数据库出现漏洞,或致8.5万家企业面临风险;苹果谈论隐私问题……...
  16. Hive的HQL的执行过程(怎么转换成MR、Spark等任务)
  17. 超给力,一款程序员必备的 996 代码工作量分析工具
  18. WPS文字中通过宏加快捷键实现仿word中Lorem()函数的功能
  19. 转一次排障经历以供学习
  20. Spring HikariDataSource连接MySQL8.0

热门文章

  1. 高精度轻量级实时语义分割网络:2K视频分割可达24.3GFLOPS和36.5FPS
  2. 嵌入式设备引入机器学习:有eIQ就够了!
  3. Unity 复制内容到剪贴板
  4. 生活中的算法的实际举例_生活中的算法
  5. matlab向量的模
  6. 中国股市十大风云人物
  7. Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
  8. vmware虚拟机添加物理网卡与虚拟网卡
  9. 个人博客管理系统详解
  10. 思岚雷达rplidar S1配置调试全纪录