Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Henrigeek

Problema com valores em C

Recommended Posts

Tudo certo, GBecker?

 

Não são a mesma coisa. Escopo e linkage são completamente diferentes. Namespaces tratam de escopo - são agrupamentos de nomes sob uma denominação ("qualificação") comum. Linkage é o processo através do qual múltiplas declarações de um mesmo nome fazem referência a um mesmo objeto. Se isto ocorrer através de unidades de compilação diferentes, isto é chamado de external linkage. Caso contrário, de internal linkage.

 

Tudo certo guidjos, e com você?

 

Pra encerrar minha dúvida, pra isso que serve a palavra reservada extern? Para criar referências, em um módulo qualquer, para um objeto que está declarado em outro módulo??

 

Henrigeek,

 

Quanto ao seu código, está correto. O erro, é algum problema de arredondamento das casas decimais.

Depurei teu código no GDB, veja as mensagens:

19	    printf("Digite o valor do troco: ");
(gdb) next
20	    scanf("%f",&value);
(gdb) next
Digite o valor do troco: 1.26
24	    if (value >= coin_25)
(gdb) print value
$6 = 1.25999999

Perceba que value tem o valor de 1.25999999 e não 1.26.

A solução seria trabalhar com mais casas decimais.

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.