Menu
Coddy logo textTech

If - Else anidados

Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 32 de 74.

Podemos anidar sentencias if-elif-else unas dentro de otras. Esto nos permite crear estructuras jerárquicas de toma de decisiones.

Por ejemplo:

if (age > 18) {
    if (hasLicense) {
    	std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
	std::cout << "Too young to drive";
}

Puede estar anidado infinitamente:

if (condition1) {
	if (condition2) {
		if (condition3) {
			// si condition1, condition2 y condition3 son verdaderas
		}
	}
}
challenge icon

Desafío

Principiante

Crea un programa que verifique si alguien puede subir a una montaña rusa. Los requisitos son:

  • Debe tener al menos 12 años
  • Debe medir más de 150 cm
  • Si cumple ambos requisitos pero es menor de 15 años, necesita supervisión de un adulto

Imprime exactamente estos mensajes para cada caso:

  • Si es demasiado joven: Sorry, you are too young
  • Si no es lo suficientemente alto: Sorry, you are not tall enough
  • Si es menor de 15 años y no hay un adulto: Sorry, you need an adult with you
  • Si es menor de 15 años con un adulto: You can ride with adult supervision!
  • Si tiene 15 años o más y es lo suficientemente alto: You can ride by yourself!

Hoja de referencia

Puedes anidar sentencias if-elif-else unas dentro de otras para crear estructuras jerárquicas de toma de decisiones:

if (age > 18) {
    if (hasLicense) {
        std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
    std::cout << "Too young to drive";
}

El anidamiento se puede realizar de forma infinita:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // si condition1, condition2 y condition3 son verdaderas
        }
    }
}

Pruébalo tú mismo

#include <iostream>

int main() {
    int age, height;
    bool hasAdult;
    std::cin >> age >> height >> hasAdult; // No cambies esta línea

    // Escribe tu código debajo
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos