Temperatur Converter i C ++ ved hjelp av funksjoner

Temperatur Converter i C ++ ved hjelp av funksjoner


Det finnes flere ulike temperaturskalaer i bruk over hele verden. Når to ulike kilder bruker ulike 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 beholde i minnet. Det er bare et spørsmål om å legge inn disse formlene inn i et dataprogram, som kan ta seg av arbeidet for brukeren.

temperatur konverter~~POS=TRUNC

Tenk tre ulike temperaturskalaer: Fahrenheit, Celsius og Kelvin. Verdiene for hver skala er i stand til å konvertere mellom hverandre ved hjelp av multiplikasjon og divisjon:

Celsius = (5/9) * (Fahrenheit - 32)

Fahrenheit = (9/5) * (Celsius + 32)

Kelvin = Celsius + 273

Gjennom disse tre ligninger, kan en hvilken som helst temperaturverdi beregnes fra en annen.

C ++ kode og bruker Input

Programmereren må vurdere brukerens input: brukeren må oppgi en verdi, og den type temperaturskalaen brukes. Dessuten må brukeren spesifisere hvilke enheter verdien bør konvertere til:

char fortsette = 'Y';

while (fortsett == 'Y') {

int temp;

røye in_unit, out_unit;

cout << "Skriv inn Temperatur:" << endl;

cin >> temp;

cout << "Skriv inn enhetstype (C, F, K):" << endl;

cin >> in_unit;

cout << "Skriv inn enhetene til å konvertere til (C, F, K):" << endl;

cin >> out_unit;

Konvertering ulike saker

Når brukeren går inn i en temperatur og enhetene for å konvertere til, er det et spørsmål om matematisk konvertering. Hver konvertering kan være en funksjon:

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 Celsius verdi og legge 273.

Alle sammen

Etter å ha fått brukerundersøkelser, og definere konvertering funksjoner, kan programmereren deretter konvertere verdiene (ved hjelp av en bryter uttalelse):

veksle (in_unit):

{

case 'C':

if (out_unit == 'F')

{Cout << getFahrenheitfromCelsius (temp);}

ellers

{Cout << temp + 273;}

gå i stykker;

case 'F'

int ctemp = getCelsiusfromFahrenheit (temp);

if (out_unit == 'C')

{Cout << ctemp;}

ellers

{Cout << ctemp + 273;}

gå i stykker;

case 'K'

int ctemp = temp + 273;

if (out_unit == 'F')

{Cout << getFahrenheitfromCelsius (ctemp);}

ellers

{Cout << ctemp;}

gå i stykker;

}