vou desconsiderar o contexto de programação e ir a parte que realmente te interessa. Além disso, vou considerar o número 1 como valor lógico verdadeiro e 0 como falso (conforme ocorre em C).
cout >> "É criança?"
crianca << cin //Digita 1 se sim e 0 se não
cout >> "Tem carteira de estudante?"
estudante << cin
valor = crianca?(20*0.7):20 //Se for criança, paga 70% de R$20,00, caso contrário paga R$20,00
valor = estudante?(20*0.55):valor //Se for estudante, paga 55% do total, caso não for, paga o que deveria pagar (total ou valor para criança < 12 anos)
cout >> "Valor a pagar"
cout >> valor
Espero ter ajudado!
O operador _?_:_ é um operador ternário em que você indica as condições e o que aconteçe caso seja verdadeira ou falsa.
como o Ruhan mostrou mais acima, o operador ternário recebe como entradas a condição (criança), o que acontece caso seja verdadeiro, (20*0.7) e o que acontece caso seja falso (20).
É como um if... else... escrito em uma linha.
O legal desse operador é que ele deixa o código bem mais enxuto, é realmente bem útil para condições simples. :D
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar