Ayuda con un programa
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");
}
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");
}
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,
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,
