C ++ If ... else (com exemplos)

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 a ifinstrução para executar um código de bloco apenas quando uma determinada condição é atendida.

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

  • se a porcentagem estiver acima de 90 , atribua nota A
  • se o percentual estiver acima de 75 , atribuir nota B
  • se o percentual estiver acima de 65 , atribuir nota C

Existem três formas de if… elseinstruções em C ++.

  1. if declaração
  2. if… else declaração
  3. if… else if… else declaração

C ++ if Statement

A sintaxe da ifdeclaração é:

 if (condition) ( // body of if statement )

A ifdeclaração avalia o conditioninterior dos parênteses ( ).

  • Se o for conditionavaliado como true, o código dentro do corpo de ifé executado.
  • Se o for conditionavaliado como false, o código dentro do corpo de ifserá ignorado.

Observação: o código interno ( )é o corpo da ifinstrução.

Funcionamento de C ++ if Statement

Exemplo 1: C ++ if Statement

 // Program to print positive number entered by the user // If the user enters a negative number, it is skipped #include using namespace std; int main() ( int number; cout <> 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; )

Produto 1

 Insira um número inteiro: 5 Você inseriu um número positivo: 5 Esta instrução é sempre executada.

Quando o usuário entra 5, a condição number> 0é avaliada para truee a instrução dentro do corpo de ifé executada.

Produto 2

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

Quando o usuário entra -5, a condição number> 0é avaliada para falsee a instrução dentro do corpo de ifnão é executada.

C ++ if… else

A ifdeclaração pode ter uma elsecláusula opcional . Sua sintaxe é:

 if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )

A if… elsedeclaração avalia o conditiondentro dos parênteses.

Trabalhando com C ++ se … else

Se o conditionavaliar true,

  • o código dentro do corpo de ifé executado
  • o código dentro do corpo de elseé ignorado da execução

Se o conditionavaliar false,

  • o código dentro do corpo de elseé executado
  • o código dentro do corpo de ifé ignorado da execução

Exemplo 2: C ++ if… else Statement

 // Program to check whether an integer is positive or negative // This program considers 0 as a positive number #include using namespace std; int main() ( int number; cout <> 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; )

Produto 1

 Insira um número inteiro: 4 Você inseriu um número inteiro positivo: 4. Esta linha é sempre impressa.

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

Aqui, entramos com 4. Portanto, a condição é true. Portanto, a instrução dentro do corpo de ifé executada.

Produto 2

Insira um número inteiro: -4 Você inseriu um número inteiro negativo: -4. Esta linha é sempre impressa.

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

C ++ if… else… else if declaração

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

A sintaxe da if… else if… elsedeclaração é:

 if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )

Aqui,

  • Se for condition1avaliado como true, o code block 1será executado.
  • Se for condition1avaliado como false, então condition2será avaliado.
  • Se condition2for true, o code block 2é executado.
  • Se condition2for false, o code block 3é executado.
Como if … else if … else Declaração funciona

Nota: pode haver mais de uma else ifinstrução, mas apenas uma instrução ife else.

Exemplo 3: C ++ if… else… else if

 // Program to check whether an integer is positive, negative or zero #include using namespace std; int main() ( int number; cout <> 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; )

Produto 1

 Insira um número inteiro: 1 Você inseriu um número inteiro positivo: 1. Esta linha é sempre impressa.

Produto 2

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

Output 3

 Enter an integer: 0 You entered 0. This line is always printed.

In this program, we take a number from the user. We then use the if… else if… else ladder to check whether the number is positive, negative, or zero.

If the number is greater than 0, the code inside the if block is executed. If the number is less than 0, the code inside the else if block is executed. Otherwise, the code inside the else block is executed.

C++ Nested if… else

Sometimes, we need to use an if statement inside another if statement. This is known as nested if statement.

Think of it as multiple layers of if statements. There is a first, outer if statement, and inside it is another, inner if statement. Its syntax is:

 // outer if statement if (condition1) ( // statements // inner if statement if (condition2) ( // statements ) )

Notes:

  • We can add else and else if statements to the inner if statement as required.
  • The inner if statement can also be inserted inside the outer else or else if statements (if they exist).
  • We can nest multiple layers of if statements.

Example 4: C++ Nested if

 // C++ program to find if an integer is even or odd or neither (0) // using nested if statements #include using namespace std; int main() ( int num; cout <> num; // outer if condition if (num != 0) ( // inner if condition if ((num % 2) == 0) ( cout << "The number is even." << endl; ) // inner else condition else ( cout << "The number is odd." << endl; ) ) // outer else condition else ( cout << "The number is 0 and it is neither even nor odd." << endl; ) cout << "This line is always printed." << endl; )

Output 1

 Enter an integer: 34 The number is even. This line is always printed.

Output 2

 Enter an integer: 35 The number is odd. This line is always printed.

Output 3

 Enter an integer: 0 The number is 0 and it is neither even nor odd. This line is always printed.

In the above example,

  • We take an integer as an input from the user and store it in the variable num.
  • We then use an if… else statement to check whether num is not equal to 0.
    • If true, then the inner if… else statement is executed.
    • If false, the code inside the outer else condition is executed, which prints "The number is 0 and neither even nor odd."
  • The inner if… else statement checks whether the input number is divisible by 2.
    • If true, then we print a statement saying that the number is even.
    • If false, we print that the number is odd.

Notice that 0 is also divisible by 2, but it is actually not an even number. This is why we first make sure that the input number is not 0 in the outer if condition.

Note: As you can see, nested if… else makes your logic complicated. If possible, you should always try to avoid nested if… else.

Body of if… else With Only One Statement

If the body of if… else has only one statement, you can omit ( ) in the program. For example, you can replace

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

with

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

The output of both programs will be the same.

Note: Although it's not necessary to use ( ) if the body of if… else has only one statement, using ( ) makes your code more readable.

More on Decision Making

Em certas situações, um operador ternário pode substituir uma if… elseinstrução. Para saber mais, visite C ++ Ternary Operator.

Se precisarmos fazer uma escolha entre mais de uma alternativa com base em uma determinada condição de teste, a switchinstrução pode ser usada. Para saber mais, visite switch 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

Artigos interessantes...