Hay algunas escalas de temperatura diferentes en uso en todo el mundo. Cuando dos fuentes diferentes están utilizando diferentes escalas , se hace necesario entender cómo convertir entre los dos. Esto implica cierta aritmética recta hacia adelante , pero no necesariamente el tipo que más a mantener en la memoria . Es sólo una cuestión de entrar en estas fórmulas en un programa de computadora, que puede hacerse cargo de la obra para el usuario. Conversiones de temperatura
considerar tres diferentes escalas de temperatura : Fahrenheit , Celsius y Kelvin . Los valores de cada escala son capaces convertir entre sí por medio de la multiplicación y la división :
centígrados = ( 5/9 ) * ( Fahrenheit - 32 )
Fahrenheit = ( 9/5 ) * ( C + 32 )
Kelvin = C + 273
a través de estas tres ecuaciones , cualquier valor de temperatura se puede calcular de otra.
C + + Código y usuario entrada
el programador debe tener en cuenta la entrada del usuario : el usuario debe introducir un valor , y el tipo de escala de temperatura utilizada. Además, el usuario debe especificar qué unidades el valor debe convertir a:
continue char = 'Y' ;
while ( continuar == ' Y') { int
temp ;
caracteres in_unit , out_unit ;
cout << " Introduzca la temperatura:" << endl ;
cin >> temp ;
cout << "Introduzca el tipo de unidad (C , F , K) :" << endl ;
cin >> in_unit ;
cout << "Introduzca las unidades para convertir a (C , F , K) :" << endl ;
cin >> out_unit ;
< br > la conversión de los diferentes casos
Después de que el usuario introduce una temperatura y las unidades para convertir a , es una cuestión de conversión matemática . Cada conversión puede ser una función :
getCelsiusfromFahrenheit int (int temp )
{return ( ( 5/9) * (temperatura -32 ) ) ;}
int getFahrenheitfromCelsius (int temp )
{return ( ( 9/5) * (temperatura + 32 ) ) ;}
Cálculo de Kelvin es sólo una cuestión de tomar el valor Celsius y la adición de 273 < br . >
todo junto
Después de obtener la entrada del usuario , y la definición de las funciones de conversión , el programador puede luego convertir los valores (con una sentencia switch ) :
interruptor
( in_unit ) :
{
case ' C' :
if ( out_unit == ' F' )
{ cout << getFahrenheitfromCelsius ( temp ) ;}
más
{ cout << temp + 273 ;}
break;
case ' F' : < br >
int CTEMP = getCelsiusfromFahrenheit ( temp ) ;
if ( out_unit == ' C' )
{ cout << CTEMP ;}
más
{ cout << CTEMP + 273 ;}
break;
caso ' K' :
int CTEMP = temp + 273 ; < br >
if ( out_unit == ' F' )
{ cout << getFahrenheitfromCelsius ( CTEMP ) ;}
más
{ cout << CTEMP ;}
break; }