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.
Consegui encurtar, mas achei o código original melhor.
ResponderExcluir#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;
}
Bem mais prático
ResponderExcluirWauu. Bem prático assim
ResponderExcluir#include
ResponderExcluir#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; }
}
#include
ResponderExcluirusing 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;
}
Poderia incluir as sequencias de else if,
ResponderExcluirrespondedo o do 18 anos é so colocar >17 kk facil
ResponderExcluir