TOPIC

Presententio error

Maicon Padilha Klitzke asked 7 months ago

include

int main (){ int codigo, quantidade; double preco, total; scanf("%d %d" ,&codigo, &quantidade); if (codigo == 1){ preco=4.00; } if (codigo == 2){ preco=4.50; } if (codigo == 3){ preco=5.00; } if (codigo == 4){ preco=2.00; } if (codigo == 5){ preco=1.50; } total=quantidade*preco; printf("Total:R$ %.2f \n" ,total); return 0; }

Remember not post solutions. Your post may be reviewed by our moderators.

  • Moacir Junior replied 6 months ago

    Tudo certo, Maicon?

    O problema que está causando Presentation Erros é porque você não colocou um espaço antes de R$. Qualquer diferença na saída que o programa espera ele já acusa falha.

    Gostaria de fazer algumas sugestões também, que podem ser analisadas por você. Quando você fez osif para atribuir o valor de preco você poderia colocar um else if entre eles, isto fará com que o sistema não faça todas as verificações quando encontrar um valor. Da forma como está se o codigo for 1 ele mesmo tendo admitido o valor 4 para preco passará pelas demais verificações, testando se o codigo é 2, 3 4 ou 5. Outra forma que ficaria melhor ainda seria utilizar um switch.

    Outra dica é que no C/C++ quando as variáveis não são inicializadas não podemos garantir o valor que está nelas antes de sobrescrevê-los, então é uma boa prática sempre inicializar os valor. Você pode fazer int codigo = 0, quantidade =0; e double preco = 0, total = 0;. No seu fonte todas as variáveis estão recebendo seus valores, mas criar o hábito de inicializar as variáveis é uma boa prática na programação C/C++.

    Espero ter ajudado.

    Valeu.

  • Aléxis Toigo replied 7 months ago

    use ctrl+alt+c para postar seu código