21xrx.com
2024-11-22 03:56:21 Friday
登录
文章检索 我的文章 写文章
C++ 点餐系统代码实例
2023-07-12 05:34:46 深夜i     --     --
C++编程 点餐系统 代码实例 餐厅管理 订单处理

C++ 点餐系统是一种基于计算机技术的餐饮业务管理方式,它可以帮助餐馆、酒店等餐饮场所有效地管理点餐订单,提高客户满意度。在这里,我们将介绍一份 C++ 点餐系统的代码实例。

首先,我们需要定义一个菜单类,用于存储所有菜品及其价格信息。以下是一个菜单类的实现代码:


class Menu

public:

  string name; // 菜品名称

  double price; // 菜品价格

;

接下来,我们需要定义一个订单类,用于存储一个客户点的菜品及其数量。以下是一个订单类的实现代码:


class Order

public:

  Menu menu; // 菜品

  int quantity; // 数量

;

现在,我们已经定义了菜单和订单两个类,接下来需要引入一个订单列表,用于存储所有客户的点餐信息。以下是一个包含订单列表的类的实现代码:


class OrderList {

private:

  vector<Order> orders; // 订单列表

public:

  void addOrder(Order order) { // 添加订单

    orders.push_back(order);

  }

  void removeOrder(int index) { // 移除订单

    orders.erase(orders.begin() + index);

  }

  double getTotal() { // 获取订单总金额

    double total = 0;

    for (int i = 0; i < orders.size(); i++) {

      total += orders[i].menu.price * orders[i].quantity;

    }

    return total;

  }

  int getSize() { // 获取订单数量

    return orders.size();

  }

  Order getOrder(int index) { // 获取订单

    return orders[index];

  }

};

最后,我们需要定义一个点餐系统类,用于提供点餐和结账等功能。以下是一个点餐系统类的实现代码:


class OrderSystem {

private:

  Menu menu[3]; // 菜单

  OrderList orderList; // 订单列表

public:

  OrderSystem() { // 初始化菜单

    menu[0].name = "炸鸡";

    menu[0].price = 30.0;

    menu[1].name = "牛肉面";

    menu[1].price = 15.0;

    menu[2].name = "可乐";

    menu[2].price = 5.0;

  }

  void showMenu() { // 显示菜单

    cout << "欢迎光临!本店菜单如下:" << endl;

    for (int i = 0; i < 3; i++) {

      cout << i + 1 << ". " << menu[i].name << " " << menu[i].price << "元/份" << endl;

    }

  }

  void placeOrder() { // 下单

    int choice = 0;

    int quantity = 0;

    while (true) {

      cout << "请选择菜品(1-3),输入 0 结束点餐:" << endl;

      cin >> choice;

      if (choice == 0)

        break;

      

      if (choice < 1 || choice > 3) 请重新输入。" << endl;

        continue;

      

      cout << "请输入数量:" << endl;

      cin >> quantity;

      Order order;

      order.menu = menu[choice - 1];

      order.quantity = quantity;

      orderList.addOrder(order);

      cout << "已成功添加一个订单:" << menu[choice - 1].name << " " << quantity << "份。" << endl;

    }

  }

  void checkout() { // 结账

    cout << "已点菜品如下:" << endl;

    for (int i = 0; i < orderList.getSize(); i++) {

      cout << orderList.getOrder(i).menu.name << " " << orderList.getOrder(i).quantity << "份,单价" << orderList.getOrder(i).menu.price << "元,共" << orderList.getOrder(i).menu.price * orderList.getOrder(i).quantity << "元。" << endl;

    }

    cout << "订单总金额:" << orderList.getTotal() << "元。" << endl;

  }

};

以上就是一个简单的 C++ 点餐系统代码实例。当然,这份代码并不完整,还有很多可以改进的地方,比如引入数据库存储订单信息,增加管理员登录和权限管理等功能,但是它足以体现点餐系统的基本实现思路。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复