Mandar um cafézinho para o programador:


Me ajude a transformar café em código!

A instrução IF e ELSE em C++ - Como Usar

Neste tutorial de nosso Curso online de C++, vamos te ensinar a usar a instrução IF ELSE, sem dúvidas um dos comandos mais importantes da programação.

Estudar pela apostila C++ Progressivo em PDF

A Instrução IF e ELSE do C++

No tutorial passado, aprendemos a usar o teste condicional IF, e vimos que ele faz um teste (dã, jura?), e caso o resultado seja VERDADEIRO, ele executa um bloco específico de código. E se for FALSO, não executa, simplesmente pula o IF.

Bom, tem um problema aí...se for TRUE, faz algo...seria interessante se fizesse outra coisa caso fosse FALSE, concorda? É aí que entra o comando ELSE.

A dupla IF ELSE tem a seguinte sintaxe:
if (teste){
   // Código caso o
   // teste seja TRUE
}
else {
   // Código caso o 
   // teste seja FALSE
}
Veja que eu disse dupla. O ELSE só existe se tiver um IF.
O IF pode até vir sozinho, como vimos no tutorial anterior, mas o ELSE só vem com o IF e sempre depois dele, conforme mostrado no escopo desse comando.

Vamos praticar?

Exemplo de IF e ELSE

Você foi contratado para fazer um programa para uma casa de shows. Em determinado trecho do código, você vai pedir a idade do cliente. Se for maior de idade (tem 18 anos ou mais), avise que ele pode comprar o ingresso. Se tiver menos, seu programa deve informar que ele não pode entrar na casa.

Primeiro, pedimos e armazenamos a idade do usuário na variável inteira age.
Agora, vamos testar se ela é maior ou igual a 18.

Se sim, cai no IF e ele é de maior.
Se não, cai no ELSE e avisamos que ele não pode entrar na casa de shows.

Veja como ficou nosso código:
#include <iostream>
using namespace std;

int main()
{
    int age;

    cout << "Sua idade: ";
    cin >> age;

    if (age>=18){
        cout << "Ok, você é de maior!" << endl;
    } 
    else {
        cout << "Você é de menor, não pode entrar!" << endl;
    }

    return 0;
}
Você consegue reescrever o programa acima usando o operador relacional > ao invés de >= ?


Como usar IF e ELSE

Seu professor te contratou para criar um programa que recebe a nota do aluno. Caso ela seja 7.0 ou mais, ele foi aprovado. Caso contrário, ele está de recuperação.

Aqui, sem mistério, não é?
Só fazer o teste condicional para maior ou igual a 7:
#include <iostream>
using namespace std;

int main()
{
    float grade;

    cout << "Sua nota: ";
    cin >> grade;

    if (grade>=7)
        cout << "Você passou." << endl;
    else
        cout << "Você está de recuperação." << endl;

    return 0;
}
Veja que não usamos as chaves. Nesse caso está ok, pois após o comando IF e após o ELSE, existe apenas uma única instrução de código.

Se dentro do seu IF ou ELSE tiver mais de uma linha de código pra rodar, coloque tudo entre chaves, ok?


Usando IF e ELSE em C++

Escreva um programa que pergunta o salário de uma pessoa. Se for maior que 3 mil, tem que pagar 20% de imposto. Se for menor, tem que pagar 15%. Exiba o valor do imposto que a pessoa tem que pagar. Imposto é roubo ?

Vamos armazenar na variável sal o salário e na tax, o valor do imposto.
Nosso código fica assim:
#include <iostream>
using namespace std;

int main()
{
    float sal, tax;

    cout << "Seu salário: ";
    cin >> sal;

    if (sal > 3000){
        tax = 0.20;
        cout << "Imposto devido: R$ " << tax*sal <<endl;
    }
    else{
        tax = 0.15;
        cout << "Imposto devido: R$ " << tax*sal <<endl;
    }
    return 0;
}
Primeiro, testamos se o salário é maior que 3 mil.
Se for, o valor ta taxa será de 20%. Senão, será de 15%.

Depois, apenas calculamos o valor do imposto devido.
Bem simples, não?

Consegue encurtar o código anterior? Mostre nos comentários.

7 comentários:

  1. Consegui encurtar, mas achei o código original melhor.

    #include

    using namespace std;

    int main()
    {
    float sal;

    cout << "Qual o seu salário? ";
    cin >> sal;

    if(sal > 3000){
    cout << "Imposto a pagar: R$ " << sal * 0.2 << endl;
    }
    else{
    cout << "Imposto a pagar: R$ " << sal * 0.15 << endl;
    }

    return 0;
    }

    ResponderExcluir
  2. #include
    #include

    using namespace std;

    int main() {

    setlocale(LC_ALL, "");

    float salario;

    cout << "Digite seu salário: R$ ";
    cin >> salario;

    if (salario > 3000){
    cout << "Pague uma taxa de: R$ " << 0.20 * salario;}

    else { cout << "Pague uma taxa de: R$ " << 0.15 * salario; }

    }

    ResponderExcluir
  3. #include

    using namespace std;

    int main(){


    float salario;

    cout << "Informe seu salario: " << endl;
    cin >> salario;

    if (salario > 3000)
    cout << "Voce tem que pagar R$" << (salario * 20 ) /100 << " de 20% de imposto.";

    else
    cout << "Voce tem que pagar R$" << (salario * 15 ) /100 << " de 15% de imposto.";

    return 0;
    }

    ResponderExcluir
  4. Poderia incluir as sequencias de else if,

    ResponderExcluir
  5. respondedo o do 18 anos é so colocar >17 kk facil

    ResponderExcluir

Ajude o C++ Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo