Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Dominando Declarações Condicionais em C++: if, if...else e if...else Aninhado Explicados

if, if...else e if...else Aninhado em C++

Neste tutorial, aprenderemos sobre a declaração if...else para criar programas de tomada de decisão com a ajuda de exemplos.

Na programação de computadores, usamos a declaração if...else para executar um bloco de código sob certas condições e outro bloco sob condições diferentes.

Por exemplo, atribuir notas (A, B, C) baseadas nas notas obtidas por um aluno.


Existem três formas de declarações if...else em C++.

  1. if statement
  2. if...else statement
  3. if...else if...else statement

Declaração if em C++

A sintaxe da declaração if é:

 if (condição) { // corpo da declaração if }

A declaração if avalia a condição dentro dos parênteses ( ).

Nota: O código dentro de { } é o corpo da declaração if.

Dominando Declarações Condicionais em C++: if, if...else e if...else Aninhado Explicados

Exemplo 1: Declaração if em C++

 // Programa para imprimir número positivo digitado pelo usuário // Se o usuário digitar um número negativo, ele é ignorado #include <iostream> using namespace std; int main() { int numero; cout << "Digite um inteiro: "; cin >> numero; // verifica se o número é positivo if (numero > 0) { cout << "Você digitou um inteiro positivo: " << numero << endl; } cout << "Esta declaração é sempre executada."; return 0; }

Saída 1

 Digite um inteiro: 5 Você digitou um número positivo: 5 Esta declaração é sempre executada.

Quando o usuário digita 5, a condição numero > 0 avalia para true e a declaração dentro do corpo do if é executada.

Saída 2

 Digite um número: -5 Esta declaração é sempre executada.

Quando o usuário digita -5, a condição numero > 0 avalia para false e a declaração dentro do corpo do if não é executada.


if...else em C++

A declaração if pode ter uma cláusula else opcional. Sua sintaxe é:

 if (condição) { // bloco de código se condição for verdadeira } else { // bloco de código se condição for falsa }

A declaração if..else avalia a condição dentro dos parênteses.

Dominando Declarações Condicionais em C++: if, if...else e if...else Aninhado Explicados

Se a condição avalia true,

Se a condição avalia false,


Exemplo 2: Declaração if...else em C++

 // Programa para verificar se um inteiro é positivo ou negativo // Este programa considera 0 como número positivo #include <iostream> using namespace std; int main() { int numero; cout << "Digite um inteiro: "; cin >> numero; if (numero >= 0) { cout << "Você digitou um inteiro positivo: " << numero << endl; } else { cout << "Você digitou um inteiro negativo: " << numero << endl; } cout << "Esta linha é sempre impressa."; return 0; }

Saída 1

 Digite um inteiro: 4 Você digitou um inteiro positivo: 4. Esta linha é sempre impressa.

No programa acima, temos a condição numero >= 0. Se digitarmos número maior ou igual a 0, a condição avalia true.

Aqui, digitamos 4. Então, a condição é true. Portanto, a declaração dentro do corpo do if é executada.

Saída 2

 Digite um inteiro: -4 Você digitou um inteiro negativo: -4. Esta linha é sempre impressa.

Aqui, digitamos -4. Então, a condição é false. Portanto, a declaração dentro do corpo do else é executada.


if...else...else if em C++

A declaração if...else é usada para executar um bloco de código entre duas alternativas. No entanto, se precisarmos escolher entre mais de duas alternativas, usamos a declaração if...else if...else.

A sintaxe da declaração if...else if...else é:

 if (condição1) { // bloco de código 1 } else if (condição2){ // bloco de código 2 } else { // bloco de código 3 }

Aqui,

Dominando Declarações Condicionais em C++: if, if...else e if...else Aninhado Explicados

Nota: Pode haver mais de uma declaração else if, mas apenas uma if e else.


Exemplo 3: if...else...else if em C++

 // Programa para verificar se um inteiro é positivo, negativo ou zero #include <iostream> using namespace std; int main() { int numero; cout << "Digite um inteiro: "; cin >> numero; if (numero > 0) { cout << "Você digitou um inteiro positivo: " << numero << endl; } else if (numero < 0) { cout << "Você digitou um inteiro negativo: " << numero << endl; } else { cout << "Você digitou 0." << endl; } cout << "Esta linha é sempre impressa."; return 0; }

Saída 1

 Digite um inteiro: 1 Você digitou um inteiro positivo: 1. Esta linha é sempre impressa.

Saída 2

 Digite um inteiro: -2 Você digitou um inteiro negativo: -2. Esta linha é sempre impressa.

Saída 3

 Digite um inteiro: 0 Você digitou 0. Esta linha é sempre impressa.

Neste programa, pegamos um número do usuário. Então usamos a escada if...else if...else para verificar se o número é positivo, negativo ou zero.

Se o número for maior que 0, o código dentro do bloco if é executado. Se o número for menor que 0, o código dentro do bloco else if é executado. Caso contrário, o código dentro do bloco else é executado.


if...else Aninhado em C++

Às vezes, precisamos usar uma declaração if dentro de outra declaração if. Isso é conhecido como declaração if aninhada.

Pense nisso como múltiplas camadas de declarações if. Há uma primeira, externa declaração if, e dentro dela há outra, interna declaração if. Sua sintaxe é:

 // declaração if externa if (condição1) { // declarações // declaração if interna if (condição2) { // declarações } }

Notas:


Exemplo 4: if Aninhado em C++

 // Programa C++ para descobrir se um inteiro é positivo, negativo ou zero // usando declarações if aninhadas #include <iostream> using namespace std; int main() { int num; cout << "Digite um inteiro: "; cin >> num; // condição if externa if (num != 0) { // condição if interna if (num > 0) { cout << "O número é positivo." << endl; } // condição else interna else { cout << "O número é negativo." << endl; } } // condição else externa else { cout << "O número é 0 e não é nem positivo nem negativo." << endl; } cout << "Esta linha é sempre impressa." << endl; return 0; }

Saída 1

 Digite um inteiro: 35 O número é positivo. Esta linha é sempre impressa.

Saída 2

 Digite um inteiro: -35 O número é negativo. Esta linha é sempre impressa.

Saída 3

 Digite um inteiro: 0 O número é 0 e não é nem positivo nem negativo. Esta linha é sempre impressa.

No exemplo acima,

Nota: Como você pode ver, if...else aninhado torna sua lógica complicada. Se possível, sempre tente evitar if...else aninhado.


Corpo do if...else Com Apenas Uma Declaração

Se o corpo do if...else tiver apenas uma declaração, você pode omitir { } no programa. Por exemplo, você pode substituir

 int numero = 5; if (numero > 0) { cout << "O número é positivo." << endl; } else { cout << "O número é negativo." << endl; }

com

 int numero = 5; if (numero > 0) cout << "O número é positivo." << endl; else cout << "O número é negativo." << endl;

A saída de ambos programas será a mesma.

Nota: Embora não seja necessário usar { } se o corpo do if...else tiver apenas uma declaração, usar { } torna seu código mais legível.


Mais sobre Tomada de Decisão

Em certas situações, um operador ternário pode substituir uma declaração if...else. Para saber mais, visite Operador Ternário em C++.

Se precisarmos fazer uma escolha entre mais de uma alternativa baseada em uma condição de teste dada, a declaração switch pode ser usada. Para saber mais, visite switch em C++.


Confira estes exemplos para aprender mais:

Programa C++ para Verificar se Número é Par ou Ímpar

Programa C++ para Verificar se um Caractere é Vogal ou Consoante.

Programa C++ para Encontrar o Maior Número Entre Três Números

Linguagem C

  1. Dominando Lógica Condicional em C#: If, If-Else, If-ElseIf e If Aninhados
  2. Classes e Objetos em C++: Guia Prático de Programação Orientada a Objetos
  3. Dominando Gerenciamento de Memória em C++: Uso Expert de new e delete
  4. Dominando Herança em C++: Public, Protected & Private Explicados
  5. Funções Amigas e Classes Amigas em C++: Dominando o Controle de Acesso
  6. Declarações, Indentação e Comentários em Python: Guia Claro
  7. Dominando Classes Aninhadas e Internas em Java: Tipos, Exemplos e Boas Práticas
  8. Guia Completo de Data e Hora em C++
  9. Dominando Sobrecarga em C++: Funções e Operadores Explicados
  10. Dominando I/O de Arquivos em C++: Leitura e Escrita com fstream