Det finnes flere ulike skalaer i bruk over hele verden. Når to ulike kilder bruker forskjellige skalaer , blir det nødvendig å forstå hvordan å konvertere mellom de to. Dette innebærer noen rett frem aritmetikk , men ikke nødvendigvis den typen som mest ha i minnet . Det er bare et spørsmål om å angi disse formlene inn i et dataprogram , som kan ta seg av arbeidet for brukeren . Temperatur konverteringer
Tenk tre forskjellige skalaer : Fahrenheit , Celsius og Kelvin . Verdiene for hver skala konvertere stand mellom hverandre ved hjelp av multiplikasjon og divisjon : en
Celsius = ( 5/9 ) * ( Fahrenheit - 32 )
Fahrenheit = ( 9/5 ) * ( Celsius 32 + )
Kelvin = Celsius + 273
Gjennom disse tre ligningene , kan alle temperaturer verdi beregnes fra en annen.
C + + kode og bruker Input
programmereren må vurdere brukerens input : brukeren må oppgi en verdi , og hvilken type temperaturskalaen brukt . Dessuten må brukeren spesifisere hvilke enheter verdien bør konvertere til :
røye continue = ' Y ';
while ( fortsett == ' Y' ) {
int temp ;
røye in_unit , out_unit ;
domstol << "Skriv inn Temperatur: " << endl;
cin >> temp ;
domstol << "Skriv inn enhetens type ( C , F , K ) : " << endl;
cin >> in_unit ;
cout << "Enter enhetene til å konvertere til ( C , F , K ) : " << endl;
cin >> out_unit ;
konvertering Ulike Cases
Når brukeren går inn i en temperatur og enhetene til å konvertere til , er det et spørsmål om matematisk konvertering. Hver konvertering kan være en funksjon : en
int getCelsiusfromFahrenheit ( int temp)
{return ( ( 5/9 ) * ( temp -32 )); }
int getFahrenheitfromCelsius ( int temp)
{return ( ( 9/5 ) * ( temp + 32 )); }
Beregning Kelvin er bare et spørsmål om å ta den Celsius verdi og legge 273
All Together
Etter å ha fått brukerundersøkelser , og definere konvertering funksjoner , kan programmereren deretter konvertere verdiene (ved hjelp av en bryter uttalelse ) :
bytte ( in_unit ) : en
{
case ' C' : en
if ( out_unit == ' F' )
{domstol << getFahrenheitfromCelsius ( temp) ;}
annet
{domstol << temp + 273 ;}
pause,
case ' F' :
int ctemp = getCelsiusfromFahrenheit ( temp) ;
if ( out_unit == ' C' )
{domstol << ctemp ;}
annet
{domstol << ctemp + 273 ;}
pause,
case ' K' : en
int ctemp = temp + 273 ;
if ( out_unit == ' F' )
{domstol << getFahrenheitfromCelsius ( ctemp ) ;}
annet
{domstol << ctemp ;}
pause,
}