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
}
}
}Desafío
PrincipianteCrea 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;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados