Mandar um cafézinho para o programador:


Me ajude a transformar café em código!
Mostrando postagens com marcador Operador Relacional. Mostrar todas as postagens
Mostrando postagens com marcador Operador Relacional. Mostrar todas as postagens

Operador Condicional Ternário em C++: ?:

Baixar apostila de C++
Baixar a apostila de C++
Neste tutorial de nosso curso de C++, vamos aprender o que é, para que serve e como usar o operador condicional ternário, o ?:


Operador Condicional ?: em C++

O operador ?: é o único ternário na linguagem, ou seja, o único que aceita três operandos.

A sintaxe desse operador condicional ternário é:

  • condição ? instrução1 : instrução2 ;
Seu funcionamento é bem simples, a condição condição é testada.
Se ela for verdadeira a instrução instrução1 é executada.
Caso a condição seja falsa, a instrução2 que é executada.

É basicamente um teste condicional IF ELSE, mas um simples, curtinho, para executar instruções de uma linha só.

Vamos refazer alguns exemplos de programa que fizemos usando IF e ELSE, mas agora usando o operador ternário ?:

Como usar o Operador Ternário ?:

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.

Nosso código fica assim:

#include <iostream>
using namespace std;

int main()
{
    int age;

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

    age>=18 ? (cout << "Ok, você é de maior!") :
              (cout << "Você é de menor, não pode entrar!") ;

    return 0;
}

Bem simples, não é?

Operador Ternário ?: como utilizar em C++

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á reprovado.

Usando o operador ternário:

#include <iostream>
using namespace std;

int main()
{
    float grade;

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

    grade>=7 ? (cout << "Aprovado"):(cout << "Reprovado");

    return 0;
}

Bem mais enxuto o código.

Exemplo de uso de ?:

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 ?

#include <iostream>
using namespace std;

int main()
{
    float sal, tax;

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

    tax = sal>3000 ? 0.20 : 0.15;
    cout << "Imposto devido: R$ " << tax*sal <<endl;

    return 0;
}
Essa solução ficou bem mais geniosa.
A variável tax vai receber o valor que retorna do operador condicional, que é 0.20 ou 0.15.

Usando o operador ternário ?: em C++

Escreva, usando o operador condicional ternário, um programa que recebe um inteiro e diz se ele é par ou ímpar.

#include <iostream>
using namespace std;

int main()
{
    int num;

    cout << "Digite um numero: ";
    cin >> num;

    num%2==0 ? cout <<"É par" : cout <<"É impar";

    return 0;
}

Exercício proposto

Quando fizemos nossa calculadora simples em C++, deixamos um bug lá de propósito.
Rode ela novamente e digite dois números, mas o segundo é 0.

Vai dar erro, pois não é possível fazer uma divisão por 0.

Resolva esse bug da calculadora, testando se o usuário digitou 0 e diga que não é possível resolver a operação de divisão, usando o operador ternário.

Poste sua solução nos comentários.

Operadores Relacionais (de comparação) em C++: > , < , >= , <=, == e !=

Neste tutorial de nosso Curso de C++, vamos aprender quais são e como usar os operadores relacionais, também conhecidos como operadores de comparação, que são:
  • > 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:
Como fazer comparações em C++
Realmente, 1 é igual 1 (deu 1, TRUE, o resultado da comparação).
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:


Operadores de comparação em C++

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?

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