任务:综合练习4

代写程序作业 对于此任务,您需要编写一个程序来模拟将客户分配给餐厅中可用桌子的过程。 需要该程序来跟踪餐厅和到达的顾客中可用的桌子。 每个客户都会得到一个唯一的Id,并记录与他们一起来的人数。 将根据表的可用性以先到先得的方式为客户提供服务。

对于此任务,您需要编写一个程序来模拟将客户分配给餐厅中可用桌子的过程。 需要该程序来跟踪餐厅和到达的顾客中可用的桌子。 每个客户都会得到一个唯一的Id,并记录与他们一起来的人数。 将根据表的可用性以先到先得的方式为客户提供服务。 这意味着,如果排队的第一个客户有可用的表格,则将为该客户提供服务。 但是如果可用的桌子没有足够的座位供排队的第一位顾客使用。 它将分配给Nest合适的客户。 基本上,客户是使用先到先得服务器为基础的表进行签名的。 但是,如果没有可用的桌子有足够的座位,则可以先分配下一个数量较小的客户。 代写程序作业

 

为了代表这种情况,您需要使用STL序列(deque)来保留来餐厅的客户列表。 到达后,会给客户一个Id,并要求来人数。 为此,声明并实现一个简单的客户类别,其中将客户ID和总人数作为数据成员。 包括此类所需的构造函数,访问器和mutator函数。 然后使用先进先出的基础将客户对象存储在STL序列(deque)中。

 

您还需要声明并实现一个桌子类。 饭店中的每个餐桌对象都应保留餐桌编号,座位数以及指示餐桌是否被占用的状态。 为桌子类实现合适的构造函数,访问器和增变函数。 您需要将所有表信息保留在STL Set。 不应有任何具有相同编号的表。 程序启动时,使用从测试文件读取的初始表数填充集合。 初始化时不应占用所有表。 使用以下格式的文本文件进行此初始化,其中每行包含表号和可用座位数。 代写程序作业

 

1

2

3

4

5

6

4

4

2

6

6

10

 

向表分配客户的过程将涉及在STL映射(map)中存储一对Customer-Table对象。 要分配表,请首先标识在STL序列(duque)中等待的第一个客户。 然后找到STL集中(set)是否有任何可用的表格可以满足所选客户的人数。 如果有可用的表,则将客户和表对象存储在一个对对象中,并以客户为键将其添加到STL映射(map)中。 集合中表对象的状态应更新为“已占用”。 然后应从STL序列中删除客户对象。 如果。 没有可用的表,请检索人数较少的另一个客户对象,然后搜索可用的表。 代写程序作业

 

应设计驱动程序,以便可以模拟以下过程。 您可以使用菜单驱动程序或其他类似方法来执行此操作。 请记住,在模拟环境中,wold过程必须是种子逻辑,并且类似于实际情况。 该过程应包括:

代写程序作业
代写程序作业

1.客户到达

2.分配表

3.客户离开

4.添加新表

 5.报告 代写程序作业

  • 列出所有表
  • 列出所有客户
  • 列出所有表分配记录

 

请记住,还要为客户和表类实现必要的重载运算符,以便可以将它们正确存储在STL容器中。 声明并实现STL容器所需的合适的功能对象。 在访问,检索和遍历STL容器时,您需要使用不止一种方法。 至少应使用一个迭代器。 您还需要在应用程序中至少使用两种通用算法。