#include <iostream>
void TemperatureConvert(float temperature, char unit_type, float results[2]) {
switch(unit_type) {
case 'c':
results[0] = ((9.0 / 5.0) * temperature) + 32; // Fahrenheit
results[1] = (temperature + 273.15); // Kelvin
break;
case 'f':
results[0] = (temperature - 32) / 1.8; // Celsius
results[1] = (temperature - 32) * 5 / 9.0 + 273.15; // Kelvin
break;
case 'k':
results[0] = (temperature - 273.15 ); // Celsius
results[1] = (((9.0 / 5.0) * temperature) - 459.67); // Fahrenheit
break;
default:
results[0] = results[1] = 0;
}
}
int main(void) {
float result[2];
TemperatureConvert(24, 'c', result);
std::cout << "Fahrenheit is " << result[0] << " degrees\n" <<
"Kelvin is " << result[1] << " degrees\n\n";
TemperatureConvert(3, 'f', result);
std::cout << "Celsius is " << result[0] << " degrees\n" <<
"Kelvin is " << result[1] << " degrees\n\n";
TemperatureConvert(3, 'k', result);
std::cout << "Celsius is " << result[0] << " degrees\n" <<
"Fahrenheit is " << result[1] << " degrees\n\n";
}
/*
run:
Fahrenheit is 75.2 degrees
Kelvin is 297.15 degrees
Celsius is -16.1111 degrees
Kelvin is 257.039 degrees
Celsius is -270.15 degrees
Fahrenheit is -454.27 degrees
*/