Como Usar o Operador Ternário em C
O operador ternário em C é uma forma compacta de tomar decisões dentro do código. Ele permite substituir algumas estruturas if e else por uma única linha, deixando o programa mais direto quando a condição é simples.
Neste conteúdo, você irá praticar o uso do operador ternário ?: em situações reais, como avaliação de notas, controle de estoque, cálculo de descontos, classificação de pedidos, consumo de energia e prioridade médica. O objetivo é desenvolver raciocínio lógico e entender como aplicar decisões condicionais de forma mais objetiva na linguagem C.
Questão 1 — Verificação de estoque
Uma loja virtual precisa informar rapidamente se um produto ainda está disponível para compra.
Problema:
Crie um programa em C que solicite a quantidade de unidades disponíveis e utilize o operador ternário para exibir Produto disponivel caso exista pelo menos uma unidade ou Produto esgotado caso a quantidade seja zero.
Exemplo:
Digite a quantidade em estoque: 14
Situacao: Produto disponivel
Digite a quantidade em estoque: 0
Situacao: Produto esgotado
Resposta:
#include
int main() {
int quantidade;
printf("Digite a quantidade em estoque: ");
scanf("%d", &quantidade);
printf("Situacao: %s\n", quantidade > 0 ? "Produto disponivel" : "Produto esgotado");
return 0;
}
Questão 2 — Frete grátis em uma compra
Uma loja oferece frete grátis para compras a partir de R$ 150,00. Compras abaixo desse valor devem pagar frete.
Crie um programa em C que:
- Solicite o valor total da compra;
- Informe se o cliente recebeu
Frete gratisouFrete pago.
Exemplo:
Digite a quantidade em estoque: 14
Situacao: Produto disponivelDigite o valor da compra: 175.90
Entrega: Frete gratis
Resposta:
#include
int main() {
float valorCompra;
printf("Digite o valor da compra: ");
scanf("%f", &valorCompra);
printf("Entrega: %s\n", valorCompra >= 150 ? "Frete gratis" : "Frete pago");
return 0;
}
Questão 3 — Comparação de preços
Lucas encontrou um teclado em duas lojas diferentes. Ele deseja comprar na loja que apresentar o menor preço.
Crie um programa em C que:
- Solicite o preço do produto na Loja A;
- Solicite o preço do produto na Loja B;
- Informe qual loja possui o menor preço;
- Considere que os preços informados serão diferentes.
Exemplo:
Digite o preco na Loja A: 89.90
Digite o preco na Loja B: 104.50
Melhor opcao: Loja A
Resposta:
#include
int main() {
float precoA, precoB;
printf("Digite o preco na Loja A: ");
scanf("%f", &precoA);
printf("Digite o preco na Loja B: ");
scanf("%f", &precoB);
printf("Melhor opcao: %s\n", precoA < precoB ? "Loja A" : "Loja B");
return 0;
}
Questão 4 — Tarifa de estacionamento
Um estacionamento cobra valores diferentes de acordo com o número de horas utilizadas.
Crie um programa em C que:
- Solicite a quantidade de horas em que o carro permaneceu estacionado;
- Utilize operadores ternários aninhados para definir o valor cobrado;
- Exiba o total a pagar.
| Tempo estacionado | Valor cobrado |
|---|---|
| Até 1 hora | R$ 8,00 |
| Até 3 horas | R$ 15,00 |
| Até 6 horas | R$ 25,00 |
| Acima de 6 horas | R$ 40,00 |
Exemplo:
Digite a quantidade de horas estacionadas: 5
Valor a pagar: R$ 25.00
Resposta:
#include
int main() {
int horas;
float valor;
printf("Digite a quantidade de horas estacionadas: ");
scanf("%d", &horas);
valor = horas <= 1 ? 8.00 :
horas <= 3 ? 15.00 :
horas <= 6 ? 25.00 :
40.00;
printf("Valor a pagar: R$ %.2f\n", valor);
return 0;
}
Questão 5 — Situação de uma entrega
Um aplicativo de delivery exibe a situação do pedido de acordo com o tempo estimado para entrega.
Crie um programa em C que:
- Solicite o tempo estimado de entrega em minutos;
- Utilize operadores ternários aninhados;
- Exiba a situação atual do pedido.
| Tempo estimado | Situação |
|---|---|
| Até 10 minutos | Pedido chegando |
| Até 25 minutos | Pedido a caminho |
| Até 45 minutos | Pedido em preparação |
| Acima de 45 minutos | Pedido atrasado |
Exemplo:
Digite o tempo estimado de entrega: 32
Situacao: Pedido em preparacao
Resposta:
#include
int main() {
int minutos;
printf("Digite o tempo estimado de entrega: ");
scanf("%d", &minutos);
printf("Situacao: %s\n",
minutos <= 10 ? "Pedido chegando" :
minutos <= 25 ? "Pedido a caminho" :
minutos <= 45 ? "Pedido em preparacao" :
"Pedido atrasado");
return 0;
}
Caso o C ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.







