输入食材随机生成菜品c++
时间: 2023-07-05 16:03:33 浏览: 65
以下是一个简单的 C++ 代码示例,用于输入食材并随机生成菜品:
```c++
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
vector<string> ingredients; // 存储输入的食材
vector<string> dishes; // 存储随机生成的菜品
// 随机生成菜品函数
void generateDish() {
if (ingredients.empty()) { // 如果没有输入食材,则无法生成菜品
cout << "Please input some ingredients first!" << endl;
return;
}
srand(time(NULL)); // 初始化随机数种子
int numIngredients = ingredients.size(); // 食材数量
int numDishes = rand() % numIngredients + 1; // 随机生成菜品数量
for (int i = 0; i < numDishes; i++) {
int index = rand() % numIngredients; // 随机选择一个食材
string dish = ingredients[index] + " dish"; // 以该食材为主题生成菜品
dishes.push_back(dish); // 将生成的菜品添加到 dishes 向量中
}
}
int main() {
string ingredient;
while (true) { // 循环读取食材,直到用户输入 "done"
cout << "Enter an ingredient (enter 'done' when finished): ";
cin >> ingredient;
if (ingredient == "done") {
break;
}
ingredients.push_back(ingredient); // 将输入的食材添加到 ingredients 向量中
}
generateDish(); // 随机生成菜品
cout << "Generated dishes:" << endl;
for (string dish : dishes) { // 输出生成的菜品
cout << "- " << dish << endl;
}
return 0;
}
```
该代码首先读取用户输入的食材,并将其存储在一个名为 `ingredients` 的向量中。然后,通过 `generateDish()` 函数随机生成菜品,并将生成的菜品存储在一个名为 `dishes` 的向量中。最后,程序输出生成的菜品列表。