Ir ao conteúdo
  • Cadastre-se

problema com o tipo double


kindurys

Posts recomendados

#include<stdio.h>

void main()

{

int f=50;

double c;

do{

c=((0,555) * (f-32)); desse modo exibe o resultado no video corretamente

printf("%lf graus C e %i graus F\n",c,f);

f++;

}while(f<=150);

}

mas se substituir por c=((5/9) * (f-32)); (o valor de c exibido sera 0)

ou seja o double exibe o valor quando o numerador e maior, mas quando o numerado e menor que

o denominador, ele atribui ao resultado 0.

Link para o comentário
Compartilhar em outros sites

Tudo indica que, como todos os dados da expressão são inteiros, o programa faz o cálculo en inteiros e por isso retorna 0 na divisão 5/9.

Quando você quiser forzar que um cálculo que envolve constantes seja feito em flutuantes, precisa expressar algum dos número envolvidos como flutuante, por exemplo:

No lugar de :

c=((5/9) * (f-32));

escreva:

c = ((5.0/9)*(f-32));

:bye:

Elga.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...