Ayuda con un programa

Chirrisclas
13 de Noviembre del 2009
Hola amigos:

Nunca he visto programacion y estoy un poco verde en la materia, desde la universidad me mandan hacer un programa que cambie grados Fahrenheit a Celsius. Lo escribo y me sale que los celsius son 0, os lo voy a pegar aqui a ver si alguien me puede solucionar el fallo.

Un saludo y muchas gracias


#include<stdio.h>
#include<stdlib.h>

main ()
{
float TC,TF;

printf("Introduce los grados Fahrenheit: ");
scanf("%f",&TF);

TC= (5/9)*(TF-32);

printf("nnLa conversion en grados Celsius es: %.2fnnn",TC);

system("PAUSE");
}

Capitan Kirk
13 de Noviembre del 2009
A primera vista, el fallo es que el factor de conversión 5/9 te lo ha debido de coger como división de números enteros, con lo que la división entera de 5 entre 9 da 0. Prueba a poner (5.0 / 9.0).

Cuando operes constantes con números reales (float o double), conviene poner, por si acaso, un punto decimal y un cero en el caso de que tu constante no lleve parte decimal. Así te aseguras de que el compilador te coge la constante como número real y no como entero.

Saludos,