- > maior que
- < menor que
- >= maior ou igual
- <= menor ou igual
- == igual
- != diferente
Como comparar coisas em C++
Embora este tutorial seja um pouco chato e teórico, ele é necessário para entendermos melhor o uso dos testes condicionais IF e ELSE, que iremos usar nos próximos tutoriais.O que vamos fazer agora é ensinar você a realizar a operação de comparação, ela é feita assim:
operando1 operador operando2
Ou seja, vamos usar dois operandos (dados, como números ou caracteres) e um operador (no caso, um relacional).
- E esta operação sempre retorna um dos valores:
- TRUE (verdadeiro ou 1)
- FALSE (falso ou 0)
Sempre.
Operação de relação é sempre uma pergunta que a resposta é 1 ou 0, true ou false.
Ok?
Operador de igualdade em C++: ==
Bom, vamos lá.Se quisermos saber se um valor x é igual a um y, fazemos:
x == y
Veja bem, é: x == y
E não: x = y
Vamos testar se 1 é igual 1 e depois se é igual a 2, rode o código abaixo:
#include <iostream> using namespace std; int main() { cout << (1 == 1) << endl; cout << (1 == 2) << endl; return 0; }O resultado foi:
E 1 não é igual a 2 (deu 0, FALSE, o resultado da comparação).
Operador de diferença em C++: !=
Assim como tem um operador que verifica a igualdade, tem outro que verifica a não-igualdade.Se dois valores forem diferentes, a operação de comparação com != vai resultar TRUE.
Se forem iguais, resulta em FALSE.
Vamos ver na prática, compile e rode:
#include <iostream> using namespace std; int main() { cout << ('a' != 'b') << endl; return 0; }Ou seja, o caractere 'a' é diferente de 'b'.
Agora teste se 'a' é diferente de 'A'.
É ?
Operador de maior em C++: >
Se quisermos testar se um valor X é maior que um valor Y, usamos o operador: >X > Y
Se X for maior, ele retorna TRUE (1).
Se for igual ou menor, ele retorna FALSE (0).
Operador de maior igual em C++: >=
Se quisermos testar se um valor é maior, ou igual, usamos: >=X >= Y
Ele retorna 1 (true) se X for maior ou igual que Y, e 0 caso X seja menor.
Por exemplo, para testar se uma pessoa já pode dirigir, beber, entrar no motel...devemos fazer:
idade >= 18
Operador Menor e Menor igual em C++: < e <=
Analogamente, existem os operador menor e menor igual.Para testarmos se uma pessoa pode doar sangue, devemos testar:
idade < 65
Para saber quem é isento de declarar imposto de renda, devemos testar:
valor <= 28559.70
Cuidado com comparações
Um erro muito grave é confundir:x = y;
Com:
x == y;
No primeiro caso, é uma atribuição.
A variável x está recebendo o valor da variável y.
No segundo caso é uma comparação.
Sempre leia comparação como uma pergunta: x é igual a y?
E quando você pergunta as coisas pro C++ ele só te dá duas respostas: 1 ou 0
Assim, se quiser armazenar o valor de uma comparação, declare um booleano, ok?
- Exercício de C++
Faça um programa que pede dois valores ao usuário (pode ser um número ou um caractere), em seguida exiba todas as operações de comparação, como no exemplo abaixo:Tentou?
Conseguiu?
Nosso código ficou assim:
#include <iostream> using namespace std; int main() { int op1, op2; cout << "Primeiro valor: "; cin >> op1; cout << "Segundo valor : "; cin >> op2; cout << op1 << " > " << op2 <<" : "<<(op1>op2)<<endl; cout << op1 << " < " << op2 <<" : "<<(op1<op2)<<endl; cout << op1 << " >= " << op2 <<" : "<<(op1>=op2)<<endl; cout << op1 << " <= " << op2 <<" : "<<(op1<=op2)<<endl; cout << op1 << " == " << op2 <<" : "<<(op1==op2)<<endl; cout << op1 << " != " << op2 <<" : "<<(op1!=op2)<<endl; return 0; }E o seu?
#include
ResponderExcluir#include
using namespace std;
int main() {
setlocale(LC_ALL, "");
unsigned short valor1, valor2;
cout << "Digite o primeiro valor: " << endl;
cin >> valor1;
cout << "Digite o segundo valor: ";
cin >> valor2;
cout << "Valor 1 > Valor 2: " << (valor1 > valor2) << endl;
cout << "Valor 1 < Valor 2: " << (valor1 < valor2) << endl;
cout << "Valor 1 >= Valor 2: " << (valor1 >= valor2) << endl;
cout << "Valor 1 <= Valor 2: " << (valor1 <= valor2) << endl;
cout << "Valor 1 == Valor 2: " << (valor1 == valor2) << endl;
cout << "Valor 1 != Valor 2: " << (valor1 != valor2);
return 0;
}