用C++编写代码,要求给定价钱区间,筛选对应饭菜,表示出来饭菜名及对应窗口
时间: 2024-03-23 22:37:00 浏览: 20
好的,以下是一个基于 C++ 的示例代码实现你的要求:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义一个 Dish 结构体,用来存储饭菜信息
struct Dish {
string name; // 饭菜名称
int window; // 窗口号
double price; // 饭菜价格
};
// 定义一个函数,用来筛选符合条件的饭菜
vector<Dish> filter_dishes(vector<Dish>& dishes, double min_price, double max_price) {
vector<Dish> filtered;
for (const auto& dish : dishes) {
if (dish.price >= min_price && dish.price <= max_price) {
filtered.push_back(dish);
}
}
return filtered;
}
int main() {
// 模拟一个饭菜数据库
vector<Dish> dishes = {
{"宫保鸡丁", 1, 28.0},
{"红烧肉", 2, 35.0},
{"清蒸鲈鱼", 3, 48.0},
{"糖醋排骨", 1, 30.0},
{"水煮鱼", 2, 38.0},
{"鱼香肉丝", 3, 25.0},
{"蒜蓉西兰花", 1, 18.0},
{"炒饭", 2, 12.0},
{"炒面", 3, 15.0},
{"烤鸭", 1, 58.0}
};
// 给定价钱区间
double min_price = 20.0;
double max_price = 40.0;
// 筛选符合条件的饭菜
vector<Dish> filtered = filter_dishes(dishes, min_price, max_price);
// 输出结果
cout << "在价钱区间 [" << min_price << ", " << max_price << "] 内的饭菜有:" << endl;
for (const auto& dish : filtered) {
cout << dish.name << " (窗口 " << dish.window << ")" << endl;
}
return 0;
}
```
在上面的示例代码中,我们首先定义了一个 `Dish` 结构体,用来存储饭菜信息。然后,我们定义了一个 `filter_dishes` 函数,用来筛选符合条件的饭菜。该函数接受一个饭菜数组、一个最小价钱和一个最大价钱,并返回一个包含符合条件的饭菜的新数组。
最后,在 `main` 函数中,我们模拟了一个饭菜数据库,并给定了一个价钱区间。通过调用 `filter_dishes` 函数,我们筛选出符合条件的饭菜,并将它们的名称和对应窗口号输出到控制台上。
希望这个示例代码能够帮助到你。如果你有任何问题,请随时问我。