February 7
Ci sono alcune scale di temperatura differenti in uso in tutto il mondo. Quando due fonti diverse utilizzano differenti scale, diventa necessario capire come convertire tra i due. Questo comporta qualche aritmetica dritto in avanti, ma non necessariamente del tipo che più tenere in memoria. E 'solo una questione di entrare queste formule in un programma di computer, che può prendersi cura del lavoro per l'utente.
Consideriamo tre diverse scale di temperatura: Fahrenheit, Celsius e Kelvin. I valori di ciascuna scala sono convertire grado tra loro mediante moltiplicazione e divisione:
Celsius = (5/9) * (Fahrenheit - 32)
Fahrenheit = (9/5) * (C + 32)
Kelvin = Celsius + 273
Attraverso queste tre equazioni, qualsiasi valore di temperatura può essere calcolato da un altro.
Il programmatore deve prendere in considerazione l'input dell'utente: l'utente deve inserire un valore, e il tipo di scala di temperatura utilizzato. Inoltre, l'utente deve specificare quali unità il valore dovrebbe convertire:
char continuano = 'Y';
mentre (continua == 'Y') {
int temperatura;
in_unit char, OUT_UNIT;
cout << "Inserire la temperatura:" << endl;
cin >> temperatura;
cout << "Inserire il tipo di unità (C, F, K):" << endl;
cin >> in_unit;
cout << "Inserire le unità da convertire in (C, F, K):" << endl;
cin >> OUT_UNIT;
Dopo l'utente immette una temperatura e le unità da convertire, è una questione di conversione matematica. Ogni conversione può essere una funzione:
int getCelsiusfromFahrenheit (int temp)
{Return ((5/9) * (temperatura -32));}
int getFahrenheitfromCelsius (int temp)
{Return ((9/5) * (temp + 32));}
Calcolo Kelvin è solo una questione di prendere il valore Celsius e l'aggiunta di 273.
Dopo aver ottenuto l'input dell'utente, e definire le funzioni di conversione, il programmatore può quindi convertire i valori (utilizzando un'istruzione switch):
passare (in_unit):
{
caso 'C':
if (OUT_UNIT == 'F')
{Cout << getFahrenheitfromCelsius (temp);}
altro
{Cout << temperatura + 273;}
rompere;
caso 'F':
int ctemp = getCelsiusfromFahrenheit (temp);
if (OUT_UNIT == 'C')
{Cout << ctemp;}
altro
{Cout << ctemp + 273;}
rompere;
caso 'K':
int ctemp = temperatura + 273;
if (OUT_UNIT == 'F')
{Cout << getFahrenheitfromCelsius (ctemp);}
altro
{Cout << ctemp;}
rompere;
}