21xrx.com
2025-03-27 04:02:44 Thursday
文章检索 我的文章 写文章
C++ 点餐系统代码实例
2023-07-12 05:34:46 深夜i     322     0
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++ 点餐系统代码实例。当然,这份代码并不完整,还有很多可以改进的地方,比如引入数据库存储订单信息,增加管理员登录和权限管理等功能,但是它足以体现点餐系统的基本实现思路。

  
  

评论区