Der er et par forskellige Temperaturskalaerne i brug i hele verden. Når to forskellige kilder anvender forskellige skalaer , bliver det nødvendigt at forstå, hvordan man konvertere mellem de to. Dette indebærer nogle ligetil aritmetik, men ikke nødvendigvis den slags, de fleste holde i hukommelsen . Det er bare et spørgsmål om at taste disse formler i et computerprogram , som kan tage sig af arbejdet for brugeren. Temperatur Konverteringer
Overvej tre forskellige Temperaturskalaerne : Fahrenheit, Celsius og Kelvin. Værdierne for hver skala er konvertere stand mellem hinanden ved hjælp af multiplikation og division : Hej
Celsius = (5/9) * ( Fahrenheit - 32)
Fahrenheit = (9 /5) * ( Celsius + 32)
kelvin = Celsius + 273
Gennem disse tre ligninger kan enhver temperatur værdi beregnes ud fra en anden .
C + + kode, og Bruger input
programmøren skal overveje brugerens input : brugeren skal indtaste en værdi , og den type temperaturskalaen brugt. Desuden skal brugeren angive, hvad enhederne skal værdien konvertere til : Hej
char fortsætter = 'Y' ,
mens (fortsæt == ' Y' ) {
int temp ;
char in_unit , out_unit ,
cout << " Indtast Temperatur: " << endl;
cin >> temp ; < br >
cout << " Indtast enhedens type ( C , F, K): " << endl;
cin >> in_unit ,
cout << " Indtast enhederne til at konvertere til (C , F, K): " << endl;
cin >> out_unit ,
< br > konvertering forskellige sager
Når brugeren indtaster en temperatur og enhederne til at konvertere til , er det et spørgsmål om matematisk konvertering. Hver konvertering kan være en funktion : Hej
int getCelsiusfromFahrenheit ( int temp )
{return ((5/9) * ( temp -32 ) );}
int getFahrenheitfromCelsius ( int temp )
{return ((9/5) * ( temp + 32) );}
Beregning Kelvin er bare et spørgsmål om at tage Celsius værdi og tilsætte 273 < br . >
All Together
Efter at have fået bruger-input, og definere konvertering funktioner , kan programmøren derefter konvertere værdierne ( ved hjælp af en switch-statement ) :
switch ( in_unit ) : Hej
{
tilfælde 'C' : Hej
if ( out_unit == 'F' )
{ cout << getFahrenheitfromCelsius ( temp );}
ellers
{ cout << temp + 273 ;}
break;
case ' F' : < br >
int ctemp = getCelsiusfromFahrenheit ( temp ),
if ( out_unit == 'C' )
{ cout << ctemp ;}
andet < br >
{ cout << ctemp + 273 ;}
break;
tilfælde 'K' : Hej
int ctemp = temp + 273 ; < br >
if ( out_unit == 'F' )
{ cout << getFahrenheitfromCelsius ( ctemp );}
ellers
{ cout << ctemp ;}
break;
}