If - Else anidados
Parte de la sección Fundamentals del Journey de C de Coddy — lección 31 de 63.
Podemos anidar sentencias if-else unas dentro de otras. Esto nos permite crear estructuras jerárquicas de toma de decisiones.
Por ejemplo:
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("Too young to drive");
}Puede estar anidado infinitamente:
if (condition1) {
if (condition2) {
if (condition3) {
// si condition1, condition2 y condition3 son verdaderas
}
}
}Desafío
FácilCrea 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 y no hay un adulto:
Sorry, you need an adult with you - Si es menor de 15 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-else entre sí para crear estructuras de toma de decisiones jerárquicas:
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("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 <stdio.h>
int main() {
int age, height;
int hasAdult;
scanf("%d %d %d", &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 Fundamentals
4Flujo de control
Sentencia IfIf - ElseElse-IfSwitch CaseOperador condicional ternarioDesafío de repasoIf - Else anidados2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso