用c++写一个点餐系统
时间: 2024-02-18 21:13:00 浏览: 25
好的,以下是一个简单的点餐系统的C++代码:
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 菜品类
class Dish {
public:
string name;
int price;
Dish(string n, int p) : name(n), price(p) {}
};
// 菜单类
class Menu {
public:
vector<Dish> dishes; // 所有菜品
Menu() {
dishes.push_back(Dish("鱼香肉丝", 15));
dishes.push_back(Dish("宫保鸡丁", 18));
dishes.push_back(Dish("蒸鱼", 25));
dishes.push_back(Dish("糖醋排骨", 20));
dishes.push_back(Dish("小炒肉", 16));
}
// 打印菜单
void print() {
cout << "======== 菜单 ========" << endl;
for (int i = 0; i < dishes.size(); i++) {
cout << i + 1 << ". " << dishes[i].name << " " << dishes[i].price << "元" << endl;
}
cout << "======================" << endl;
}
};
// 订单类
class Order {
public:
vector<Dish> dishes; // 选择的菜品
int total_price; // 总价
Order() : total_price(0) {}
// 添加菜品
void add_dish(Dish dish) {
dishes.push_back(dish);
total_price += dish.price;
}
// 打印订单
void print() {
cout << "======== 订单 ========" << endl;
for (int i = 0; i < dishes.size(); i++) {
cout << dishes[i].name << " " << dishes[i].price << "元" << endl;
}
cout << "总价:" << total_price << "元" << endl;
cout << "======================" << endl;
}
};
int main() {
Menu menu;
Order order;
int choice;
while (true) {
menu.print();
cout << "请输入要点的菜品编号(输入0结算):";
cin >> choice;
if (choice == 0) {
order.print();
break;
} else if (choice < 1 || choice > menu.dishes.size()) {
cout << "输入无效,请重新输入!" << endl;
} else {
order.add_dish(menu.dishes[choice - 1]);
cout << "已成功添加:" << menu.dishes[choice - 1].name << endl;
}
}
return 0;
}
```
这个点餐系统中,菜品和菜单都是用类来表示的,订单中维护了选择的菜品和总价。通过不断输入菜品编号来添加菜品,输入0结算并打印订单。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)