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

C++ if, if...else e aninhado if...else

C++ if, if...else e aninhado if...else


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

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

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



Existem três formas de if...else declarações em C++.
  1. if declaração
  2. if...else declaração
  3. if...else if...else declaração

Instrução if C++


A sintaxe do if afirmação é:
if (condition) {
  // body of if statement
}

O if declaração avalia o condition dentro dos parênteses ( ) .

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

Exemplo 1:instrução if C++

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

Saída 1
Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

Quando o usuário digita 5 , a condição number > 0 é avaliado para true e a instrução dentro do corpo de if É executado.

Saída 2
Enter a number: -5
This statement is always executed.

Quando o usuário insere -5 , a condição number > 0 é avaliado para false e a instrução dentro do corpo de if não é executado.

C++ if...else


O if declaração pode ter um opcional else cláusula. Sua sintaxe é:
if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

O if..else declaração avalia o condition dentro do parêntese.

Se o condition avalia true ,
  • o código dentro do corpo de if é executado
  • o código dentro do corpo de else é ignorado da execução

Se o condition avalia false ,
  • o código dentro do corpo de else é executado
  • o código dentro do corpo de if é ignorado da execução

Exemplo 2:instrução if...else C++

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Saída 1
Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

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

Aqui, entramos em 4 . Portanto, a condição é true . Portanto, a instrução dentro do corpo de if É executado.

Saída 2
Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.



Aqui, inserimos -4 . Portanto, a condição é false . Portanto, a instrução dentro do corpo de else É executado.

C++ if...else...else if instrução


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

A sintaxe do if...else if...else afirmação é:
if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

Aqui,
  • Se condition1 avalia para true , o code block 1 é executado.
  • Se condition1 avalia para false , então condition2 é avaliado.
  • Se condition2 é true , o code block 2 é executado.
  • Se condition2 é false , o code block 3 é executado.

Observação: Pode haver mais de um else if instrução, mas apenas um if e else declarações.

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

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Saída 1
Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

Saída 2
Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

Saída 3
Enter an integer: 0
You entered 0.
This line is always printed.

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

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

C++ Aninhado if...else


Às vezes, precisamos usar um if declaração dentro de outro if declaração. Isso é conhecido como if aninhado declaração.

Pense nisso como várias camadas de if declarações. Há um primeiro if externo declaração, e dentro dela há outro if interno declaração. Sua sintaxe é:
// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Observações:
  • Podemos adicionar else e else if instruções para o if interno declaração conforme necessário.
  • O if interno declaração também pode ser inserida dentro do else externo ou else if declarações (se existirem).
  • Podemos aninhar várias camadas de if declarações.

Exemplo 4:C++ aninhado if

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

Saída 1
Enter an integer: 35
The number is positive.
This line is always printed.

Saída 2
Enter an integer: -35
The number is negative.
This line is always printed.

Saída 3
Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

No exemplo acima,
  • Pegamos um inteiro como entrada do usuário e o armazenamos na variável num .
  • Em seguida, usamos um if...else instrução para verificar se num não é igual a 0 .
    • Se true , então o interno if...else instrução é executada.
    • Se false , o código dentro do externo else condição é executada, que imprime "The number is 0 and it is neither positive nor negative."
  • O interior if...else verifica se o número de entrada é positivo, ou seja, se num é maior que 0 .
    • Se true , então imprimimos uma declaração dizendo que o número é positivo.
    • Se false , imprimimos que o número é negativo.

Observação: Como você pode ver, if...else aninhado torna sua lógica complicada. Se possível, você deve sempre tentar evitar if...else aninhados .

Corpo de if...else com apenas uma declaração


Se o corpo de if...else tem apenas uma instrução, você pode omitir { } no programa. Por exemplo, você pode substituir
int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

com
int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

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

Observação: Embora não seja necessário usar { } se o corpo de if...else tem apenas uma instrução, usando { } torna seu código mais legível.

Mais sobre tomada de decisão


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

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


Confira estes exemplos para saber mais:

Programa C++ para verificar se o 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. C# if, if...else, if...else if e aninhado if declaração
  2. Classes e objetos C++
  3. Gerenciamento de memória C++:novo e excluir
  4. Herança pública, protegida e privada C++
  5. Função de amigo C++ e classes de amigo
  6. Declaração Python, Recuo e Comentários
  7. Java aninhado e classe interna
  8. Data e hora do C++
  9. Sobrecarga de C++ (operador e função)
  10. Arquivos e fluxos C++