En esta ocasión te presentamos un código C++ que convierte una unidad de temperatura en grados Centígrados, Fahrenheit o Kelvin, dependiendo de la elección del usuario. El código ha sido probado en CodeBlocks en Windows, y funciona perfectamente bien.
#include <iostream>
#include <string>
#include <Windows.h>
#include <locale>
using namespace std;
double celsiusToFahrenheit(double celsius) {
return (celsius * 9 / 5) + 32;
}
double celsiusToKelvin(double celsius) {
return celsius + 273.15;
}
double fahrenheitToCelsius(double fahrenheit) {
return (fahrenheit - 32) * 5 / 9;
}
double fahrenheitToKelvin(double fahrenheit) {
return (fahrenheit + 459.67) * 5 / 9;
}
double kelvinToCelsius(double kelvin) {
return kelvin - 273.15;
}
double kelvinToFahrenheit(double kelvin) {
return (kelvin * 9 / 5) - 459.67;
}
int main() {
// Estableciendo idioma español
setlocale(LC_ALL, "Spanish"); // En Linux
SetConsoleCP(1252); // En Windows
SetConsoleOutputCP(1252);
double value;
char unit;
cout << "Introduce la cantidad a convertir (ejemplo 20ºC, 20C, 20 c): ";
cin >> value >> unit;
if (unit == 'C' || unit == 'c' || unit == 'º') {
cout << value << "ºC son " << celsiusToFahrenheit(value) << "ºF" << endl;
cout << value << "ºC son " << celsiusToKelvin(value) << "ºK" << endl;
} else if (unit == 'F' || unit == 'f') {
cout << value << "ºF son " << fahrenheitToCelsius(value) << "ºC" << endl;
cout << value << "ºF son " << fahrenheitToKelvin(value) << "ºK" << endl;
} else if (unit == 'K' || unit == 'k') {
cout << value << "ºK son " << kelvinToCelsius(value) << "ºC" << endl;
cout << value << "ºK son " << kelvinToFahrenheit(value) << "ºF" << endl;
} else {
cout << "Unidad de grados no reconocida. Por favor introduce C, c, ºC, F, f, ºF, K, k o ºK." << endl;
}
return 0;
}
Utiliza nuestro foro de electronica si tienes dudas no relacionadas con este tema.