Menu
Coddy logo textTech

If - Else Aninhado

Parte da seção Fundamentos do Journey de C++ da Coddy — lição 32 de 74.

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) {
    	std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
	std::cout << "Too young to drive";
}

Pode ser aninhado infinitamente:

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

Desafio

Iniciante

Crie um programa que verifique 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, precisarão de supervisão de um adulto

Imprima exatamente estas mensagens para cada caso:

  • Se for muito jovem: Sorry, you are too young
  • Se não for alto o suficiente: Sorry, you are not tall enough
  • Se tiver menos de 15 anos e não houver 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) {
        std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
    std::cout << "Too young to drive";
}

O aninhamento pode ser feito infinitamente:

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

Experimente você mesmo

#include <iostream>

int main() {
    int age, height;
    bool hasAdult;
    std::cin >> age >> height >> hasAdult; // Não altere esta linha

    // Escreva seu código abaixo
    
    return 0;
}
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