1.15 Escriba de nuevo el programa de conversión de temperatura de la sección 1.2, de modo que utilice una función para la conversión.
_______________________________________________________________________________
Solución:
Este programa presenta una tabla de equivalencia entre grados Fahrenheit y grados Celcius.
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Este programa imprime una tabla de equivalencias entre + + grados fahrenheit y gradps celsius + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + + + ALGORITMO: + + Celsius = (5/9)*(Fahrenheit - 32) + + + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ #include<stdio.h> int convertir( int); /*//////////////////////////////////////////////////////// // MAIN ////////////////////////////////////////////////////////*/ main() { /*Abre main */ float fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; printf("\nEste programa imprime una tabla de equivalencias entre"); printf(" grados Fahrenheit y grados Celcius\n"); printf("\nFahrenheit: Celsius:\n"); while ( fahr <= upper ) { /* Abre while */ celsius = convertir( fahr); printf("%10.0f%11.1f\n", fahr, celsius ); fahr = fahr + step; } /* Cierra while */ return; } /*Cierra main */ /*////////////////////////////////////////////////////// // CONVERTIR //////////////////////////////////////////////////////*/ int convertir( int fahrenheit ) { // Abre convertir return (5.0/9.0)*(fahrenheit - 32); } // Cierra convertir
La ejecución de éste programa da la siguiente salida:
Este programa imprime una tabla de equivalencias entre grados Fahrenheit y grados Celcius
Fahrenheit:  Celsius:
         0      -17.0
        20       -6.0
        40        4.0
        60       15.0
        80       26.0
       100       37.0
       120       48.0
       140       60.0
       160       71.0
       180       82.0
       200       93.0
       220      104.0
       240      115.0
       260      126.0
       280      137.0
       300      148.0
_____________________________________________________________________________________________
Esta entrada es parte de los problemas resueltos del libro El Lenguaje de Programación C, de B. Kernighan y D. Ritchie.
Entrada Anterior
Entrada Siguiente
 
 

Otra forma seria:
ResponderEliminar#include
/* Imprime la tabla Fahrenheit-Celsius
para fahr = 0, 20,....,300 */
float celsius(float);
int main()
{
for (int i = 0; i <= 300; i+=20)
printf("%3d\t%6.1f\n", i, celsius(i));
return 0;
}
float celsius(float fahr)
{
float temp = (5.0/9.0)*(fahr-32.0);
return temp;
}