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
...
}
}
}Desafio
InicianteCrie 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);
}
}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
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos Aritméticos7IO Básico
Saída BásicaInterpolação de StringsLeitura de EntradaParseRevisão - Até 120Revisão - True ou False5Operadores Parte 2
Operadores de ComparaçãoOperadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 33Variáveis Parte 2
VarConstantesConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting6Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador TernárioRevisão - If ElseIf - Else Aninhado