If - Else Aninhado
Parte da seção Fundamentals do Journey de C da Coddy — lição 31 de 63.
Podemos aninhar instruções if-else umas dentro das outras. Isso nos permite criar estruturas de tomada de decisão hierárquicas.
Por exemplo:
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("Too young to drive");
}Pode ser aninhado infinitamente:
if (condition1) {
if (condition2) {
if (condition3) {
// se condition1, condition2 e condition3 forem verdadeiros
}
}
}Desafio
FácilCrie 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, precisam 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 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-else umas dentro das outras para criar estruturas de tomada de decisão hierárquicas:
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("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 <stdio.h>
int main() {
int age, height;
int hasAdult;
scanf("%d %d %d", &age, &height, &hasAdult); // Don't change this line
// Escreva seu código abaixo
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Fluxo de Controle
Instrução IfIf - ElseElse-IfSwitch CaseOperador Condicional TernárioDesafio de RevisãoIf - Else Aninhado2Variáveis
Tipos de DadosInteiroFloat - DoubleCaracteresBooleanosConstantesFundamentos do printfRegras de Nomenclatura de VariáveisConversão de Tipos Parte 1Conversão de Tipos Parte 2Desafio de Recapitulação3Operadores
Operadores AritméticosOperador de MóduloIncremento/DecrementoOperadores de AtribuiçãoOperadores RelacionaisOperadores Lógicos Parte 1Operadores Lógicos Parte 2Operadores Lógicos Parte 3Desafio de Recapitulação