Menu
Coddy logo textTech

If - Else Aninhado

Parte da seção Fundamentos do Journey de C# da Coddy — lição 30 de 69.

Podemos aninhar instruções if-elif-else umas dentro das outras. Isso nos permite criar estruturas hierárquicas de tomada de decisão.

Por exemplo:

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

Pode ser aninhado infinitamente:

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // se condition1, condition2 e condition3 forem verdadeiras
		    ...
		}
	}
}
challenge icon

Desafio

Iniciante

Crie um programa que verifica se alguém pode andar em uma montanha-russa. Os requisitos são:

  • Deve ter pelo menos 12 anos de idade
  • Deve ter mais de 150cm de altura
  • Se atenderem a ambos os requisitos, mas tiverem menos de 15 anos, precisam de supervisão de um adulto

Defina a variável status exatamente para estas strings para cada caso:

  • Se for muito jovem: Sorry, you're too young
  • Se não for alto o suficiente: Sorry, you're not tall enough
  • Se tiver menos de 15 anos e nenhum adulto: Sorry, you need an adult with you
  • Se tiver menos de 15 anos com um adulto: You can ride with adult supervision!
  • Se tiver 15 anos ou mais e for alto o suficiente: You can ride by yourself!

Folha de consulta

Você pode aninhar instruções if-elif-else umas dentro das outras para criar estruturas de tomada de decisão hierá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");
}

O aninhamento pode ser feito infinitamente:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // se condition1, condition2 e condition3 forem verdadeiros
            ...
        }
    }
}

Experimente você mesmo

using System;

class Program {
    public static void Main(string[] args) {
        int age = int.Parse(Console.ReadLine()); // Não altere esta linha
        int height = int.Parse(Console.ReadLine()); // Não altere esta linha
        bool hasAdult = bool.Parse(Console.ReadLine()); // Não altere esta linha

        string status = "";
        
        // Escreva seu código abaixo
        
        
        
        // Não altere abaixo desta linha
        Console.WriteLine(status);
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos