用c++帮我写一个自动点餐
时间: 2024-03-09 21:44:49 浏览: 49
基于C++实现(控制台)自助点餐系统【100010526】
5星 · 资源好评率100%
好的,自动点餐系统可以分为客户端和服务端两个部分。以下是一个简单的 C++ 代码示例,可以作为自动点餐系统的客户端使用:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义菜品结构体
struct Dish {
string name; // 菜品名称
float price; // 菜品价格
};
// 定义菜单
vector<Dish> menu = {
{"麻辣香锅", 38.5},
{"水煮鱼", 42.0},
{"酸菜鱼", 45.0},
{"宫保鸡丁", 28.0},
{"回锅肉", 32.5},
{"毛血旺", 58.0},
{"糖醋排骨", 33.0},
{"红烧肉", 29.5},
{"麻婆豆腐", 22.5},
};
// 打印菜单
void print_menu() {
cout << "欢迎来到自动点餐系统,请选择您喜欢的菜品:" << endl;
for (int i = 0; i < menu.size(); i++) {
cout << i + 1 << ". " << menu[i].name << " " << menu[i].price << "元" << endl;
}
}
// 计算总价
float calculate_total_price(vector<int> selected_items) {
float total_price = 0;
for (int i = 0; i < selected_items.size(); i++) {
total_price += menu[selected_items[i]-1].price;
}
return total_price;
}
int main() {
vector<int> selected_items; // 已选择的菜品序号
int selected_item = 0; // 输入的菜品序号
float total_price = 0; // 总价
print_menu(); // 打印菜单
while (true) {
cout << "请选择菜品序号(输入0表示结束选择):";
cin >> selected_item;
if (selected_item == 0) {
break;
}
if (selected_item < 1 || selected_item > menu.size()) {
cout << "输入有误,请重新输入" << endl;
continue;
}
selected_items.push_back(selected_item);
}
total_price = calculate_total_price(selected_items); // 计算总价
cout << "您已选择以下菜品:" << endl;
for (int i = 0; i < selected_items.size(); i++) {
cout << menu[selected_items[i]-1].name << " " << menu[selected_items[i]-1].price << "元" << endl;
}
cout << "总价:" << total_price << "元" << endl;
return 0;
}
```
这个代码示例实现了以下功能:
- 打印菜单;
- 接受用户输入,记录用户选择的菜品序号;
- 计算总价,并打印出用户选择的菜品和总价。
您可以将这个程序作为客户端,与服务端进行通信,实现自动点餐系统的完整功能。
阅读全文