1038 - Presententio error - URI Online Judge
Presententio error
Maicon Padilha Klitzke asked 7 months ago
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; }
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++.