El código proporcionado está diseñado para funcionar correctamente
en cualquier entorno de C++ estándar. Sin embargo, aquí tienes el
código nuevamente con una pequeña mejora en la organización y
garantizando que no haya problemas de compilación. Asegúrate de
tener un compilador de C++ que soporte al menos el estándar C+
+11.
```cpp
#include <iostream>
#include <vector>
#include <string>
Class Plato {
Public:
Std::string nombre;
Double precio;
Int tiempoPreparacion; // en minutos
Bool picante;
Bool vegetariano;
Std::string cultura;
Plato(const std::string& n, double p, int t, bool pic, bool veg, const
std::string& cul)
: nombre(n), precio(p), tiempoPreparacion(t), picante(pic),
vegetariano(veg), cultura(cul) {}
};
Class Menu {
Private:
Std::vector<Plato> platos;
Public:
Void agregarPlato(const Plato& plato) {
Platos.push_back(plato);
Void imprimirPlatos() const {
Std::cout << “Todos los platos:\n”;
For (const auto& plato : platos) {
imprimirPlato(plato);
Void imprimirPlatosPorPrecio(double precioMax) const {
Std::cout << “Platos con precio menor o igual a “ << precioMax
<< “:\n”;
For (const auto& plato : platos) {
If ([Link] <= precioMax) {
imprimirPlato(plato);
Void imprimirPlatosPorTiempo(int tiempo) const {
Std::cout << “Platos con tiempo de preparación de “ << tiempo
<< “ minutos:\n”;
For (const auto& plato : platos) {
If ([Link] == tiempo) {
imprimirPlato(plato);
}
}
Void imprimirPlatosNoPicantes() const {
Std::cout << “Platos que no son picantes:\n”;
For (const auto& plato : platos) {
If (¡[Link]) {
imprimirPlato(plato);
Void imprimirPlatosVegetarianos() const {
Std::cout << “Platos vegetarianos:\n”;
For (const auto& plato : platos) {
If ([Link]) {
imprimirPlato(plato);
Void imprimirPlatosPorCultura(const std::string& cultura) const {
Std::cout << “Platos de la cultura “ << cultura << “:\n”;
For (const auto& plato : platos) {
If ([Link] == cultura) {
imprimirPlato(plato);
}
Private:
Void imprimirPlato(const Plato& plato) const {
Std::cout << “Nombre: “ << [Link]
<< “, Precio: “ << [Link]
<< “, Tiempo de preparación: “ <<
[Link]
<< “ min, Picante: “ << ([Link] ¿ “Sí” : “No”)
<< “, Vegetariano: “ << ([Link] ¿ “Sí” : “No”)
<< “, Cultura: “ << [Link] << “\n”;
};
Int main() {
Menu menu;
// Agregar algunos platos
[Link](Plato(“Tacos”, 5.50, 15, true, false,
“Mexicana”));
[Link](Plato(“Ensalada”, 4.00, 10, false, true,
“Mediterránea”));
[Link](Plato(“Sushi”, 12.00, 30, false, false,
“Japonesa”));
[Link](Plato(“Curry”, 8.00, 20, true, false, “India”));
// Imprimir todos los platos
[Link]();
// Imprimir platos por precio
[Link](6.00);
// Imprimir platos por tiempo
[Link](15);
// Imprimir platos no picantes
[Link]();
// Imprimir platos vegetarianos
[Link]();
// Imprimir platos por cultura
[Link](“India”);
Return 0;
```
### Instrucciones para compilar y ejecutar:
1. Guarda el código en un archivo con la extensión `.cpp`, por
ejemplo, `menu_platos.cpp`.
2. Abre una terminal o consola.
3. Navega hasta el directorio donde guardaste el archivo.
4. Usa un compilador como `g++` para compilar el código. Por
ejemplo:
```bash
G++ -o menu_platos menu_platos.cpp
```
5. Ejecuta el programa:
```bash
./menu_platos
```
Este código debería compilar y ejecutarse sin problemas, mostrando
la información de los platos según los criterios especificados. Si
encuentras algún error, por favor, indícame el mensaje de error para
poder ayudarte mejor.