Assim, nossos programas vão ficar mais flexíveis e dinâmicos.
Tomando decisões em C++
Até o momento, todos nossos códigos foram puramente sequenciais.Ou seja, rodaram de cima pra baixo, na função main, executando linha por linha, comando por comando, e sempre desse jeito.
Se rodarmos nossos programas 1 milhão de vezes, eles fazem o mesmo 1 milhão de vezes.
Mas será que é isso que ocorre nos programas do dia-a-dia?
Quando você clica numa coisa, abre uma coisa, se clica em outra, outra coisa abre.
Se digita um comando, algo acontece. Se digita outro, outra coisa diferente acontece.
Ou seja, o que seu computador vai fazer depende do que você faz, ele precisa fazer alguns testes antes de tomar que decisão ele deve tomar.
Vamos aprender como tomar essas decisões agora, usando o teste condicional if.
O comando IF no C++
A estrutura do comando IF é bem simples e fácil de entender, veja:if ( teste_condicional ){ // código // código // código }Começamos com o comando if, em seguida abrimos parêntesis, e dentro deles deve ter algum valor booleano (1 ou 0, true ou false), no caso o mais comum é fazermos alguma operação relacional (teste de comparação), depois algum código entre chaves.
O funcionamento é bem simples: a instrução if vai analisar o que tem dentro dos parêntesis.
Se o que tiver lá for verdadeiro, ela executa o código entre chaves.
Se o que tiver ali dentro for falso, ela não faz nada, o if é pulado, como se não existisse.
IF em inglês significa 'se'.
Então, leia: se for verdade, então executa isso.
Como usar o IF em C++
O programa abaixo tem um teste condicional:2 > 1
Se este teste for verdade, o cout dentro do IF é executado:
#include <iostream> using namespace std; int main() { if( 2 > 1){ cout << "Realmente, dois é maior que 1"; } return 0; }Obviamente, é verdade, por isso, a mensagem sempre aparece na tela.
Agora teste com 2 < 1
O que aconteceu?
Exemplo de uso do IF
Faça um programa que peça a idade ao usuário e informe caso ele seja de maior.Uma pessoa é de maior se tem 18 ou mais anos de idade, então nosso código fica assim:
#include <iostream> using namespace std; int main() { int age; cout << "Qual sua idade: "; cin >> age; if( age >= 18){ cout << "Você é de maior"; } return 0; }Você consegue resolver esse exercício usando o operador > ao invés do >= ?
Exemplo de uso do IF
Pergunte uma nota ao usuário, e caso ela seja menor que 6 diga que ele está reprovado.Veja como fica o código:
#include <iostream> using namespace std; int main() { float grade; cout << "Qual sua nota: "; cin >> grade; if( grade < 6) cout << "Reprovado"; return 0; }Note que não usamos chaves, isso é porque o código do IF é composto apenas de uma linha de instrução. Nesses casos, não precisa colocar entre chaves.
Mas se a instrução dentro do IF for maior, use chaves.
Veja como o C++ é um professor rigoroso, coloquei a nota 5.99999 e mesmo assim ele me reprovou:
Usando o IF em C++
Faça um programa que peça dois números ao usuário, e informe caso sejam iguais.#include <iostream> using namespace std; int main() { float num1, num2; cout << "Numero 1: "; cin >> num1; cout << "Numero 2: "; cin >> num2; if( num1 == num2) cout << "São iguais!"; return 0; }Bem simples, não é?
Note que se você digitar números diferentes, o IF recebe o resultado false no teste condicional e não executa seu código.
Ou seja, nada acontece, o programa simplesmente pula o IF.
Exercício
Escreva um programa que pede uma senha numérica ao usuário e mostre uma mensagem de erro caso ele ERRE a senha. A senha é 2112.Poste sua solução nos comentários.
#include
ResponderExcluirusing namespace std;
#define senha 2112
int main (){
setlocale (LC_ALL, "Portuguese");
int senha1;
cout << "Boa noite. Por favor, digite a senha: " << endl;
cin >> senha1;
if (senha1 == senha){
cout << "Senha correta! Pode entrar" << endl;
} else {
cout << "Senha Incorreta";
}
}
Como funciona aquela linha de # da senha?
Excluir#include
ResponderExcluir// escreva um programa que pede uma senha númerica ao usuário e mostre
// uma mensagem de erro caso ele erre a senha. A senha é 2112.
int main()
{
int senha {2112}, entrada;
std::cout << "Digite a senha: "; std::cin >> entrada;
if (entrada == senha) {
std::cout << "Senha correta" << '\n';
} else {
std::cout << "Senha incorreta" << '\n';
}
return 0;
}