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 ++.
ifdeclaraçãoif… elsedeclaraçãoif… else if… elsedeclaraçã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 comotrue, o código dentro do corpo deifé executado. - Se o for
conditionavaliado comofalse, o código dentro do corpo deifserá 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 comotrue, ocode block 1será executado. - Se for
condition1avaliado comofalse, entãocondition2será avaliado. - Se
condition2fortrue, ocode block 2é executado. - Se
condition2forfalse, ocode 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
elseandelse ifstatements to the innerifstatement as required. - The inner
ifstatement can also be inserted inside the outerelseorelse ifstatements (if they exist). - We can nest multiple layers of
ifstatements.
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… elsestatement to check whether num is not equal to0.- If
true, then the innerif… elsestatement is executed. - If
false, the code inside the outerelsecondition is executed, which prints "The number is 0 and neither even nor odd."
- If
- The inner
if… elsestatement checks whether the input number is divisible by2.- If
true, then we print a statement saying that the number is even. - If
false, we print that the number is odd.
- If
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








