Det finns några olika temperaturskalor som används över hela världen . När två olika källor använder olika skalor , blir det nödvändigt att förstå hur man kan konvertera mellan de två. Detta innebär en viss rakt fram aritmetik , men inte nödvändigtvis den typ som de flesta hålla i minnet . Det är bara en fråga om att skriva in dessa formler i ett datorprogram , som kan ta hand om arbetet för användaren . Temperatur Konverteringar
Betrakta tre olika temperaturskalor : Fahrenheit , Celsius och Kelvin . Värdena för varje skala är konvertera stånd mellan varandra genom multiplikation och division :
Celsius = ( 5/9 ) * ( Fahrenheit - 32 ) katalog
Fahrenheit = (9/5) * ( Celsius + 32 ) katalog
Kelvin = Celsius + 273
Genom dessa tre ekvationer , kan någon temperatur värde beräknas från en annan .
C + + -kod och användare ingång
programmeraren måste överväga användarens input : användaren måste ange ett värde , och den typen av temperaturen skala används . Dessutom måste användaren specificera vilka enheter värdet borde konvertera till :
röding continue = ' Y ' ,
while ( fortsätt == ' Y ' ) {
int temp ,
röding in_unit , out_unit ,
cout << " Ange Temperatur : " << endl;
cin >> temp ;
cout << " Ange enhetens typ ( C , F , K ) : " << endl;
cin >> in_unit ,
cout << " Skriv in enheterna för att konvertera till ( C , F , K ) : " << endl;
cin >> out_unit ,
konvertera olika fall
När användaren går in en temperatur och enheterna för att konvertera till , är det en fråga om matematisk omvandling . Varje konvertering kan vara en funktion :
int getCelsiusfromFahrenheit (int temp ) katalog
{return ( (5/9 ) * ( temp -32 ) );}
int getFahrenheitfromCelsius ( int temp ) katalog
{return ( (9/5) * ( temp + 32 ) ) ;}
Beräkning Kelvin är bara en fråga om att ta Celsius värdet och tillsätta 273
All Together
Efter att få indata från användaren , och definiera konvertering funktioner , kan programmeraren konvertera då värdena ( med hjälp av en switch-sats ) :
switch ( in_unit ) :
{
case ' C ' :
om ( out_unit == ' F ' ) katalog
{ cout << getFahrenheitfromCelsius ( temp ) ;}
annat
{ cout << temp + 273 ; }
break;
case ' F ' :
int ctemp = getCelsiusfromFahrenheit ( temp ) ;
om ( out_unit == ' C ' ) katalog
{ cout << ctemp ;}
annat
{ cout << ctemp + 273 ; }
break;
case ' K ' :
int ctemp = temp + 273 ;
if ( out_unit == 'F' ) katalog
{ cout << getFahrenheitfromCelsius ( ctemp );}
annan
{ cout << ctemp ; }
break;
}