Menu
Coddy logo textTech

If - Else anidados

Parte de la sección Fundamentos del Journey de C# de Coddy — lección 30 de 69.

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) {
        Console.WriteLine("You can drive");
    } else {
        Console.WriteLine("Get a license first");
    }
} else {
    Console.WriteLine("Too young to drive");
}

Puede anidarse 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 cumplen ambos requisitos pero son menores de 15 años, necesitan supervisión de un adulto

Asigna a la variable status exactamente estas cadenas para cada caso:

  • Si es demasiado joven: Sorry, you're too young
  • Si no es lo suficientemente alto: Sorry, you're 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 de toma de decisiones jerárquicas:

if (age > 18) {
    if (hasLicense) {
        Console.WriteLine("You can drive");
    } else {
        Console.WriteLine("Get a license first");
    }
} else {
    Console.WriteLine("Too young to drive");
}

El anidamiento se puede hacer de forma infinita:

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

Pruébalo tú mismo

using System;

class Program {
    public static void Main(string[] args) {
        int age = int.Parse(Console.ReadLine()); // No cambies esta línea
        int height = int.Parse(Console.ReadLine()); // No cambies esta línea
        bool hasAdult = bool.Parse(Console.ReadLine()); // No cambies esta línea

        string status = "";
        
        // Escribe tu código debajo
        
        
        
        // No cambies debajo de esta línea
        Console.WriteLine(status);
    }
}
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