/****************************************************************************** * This program computes a table of temperatures in four different scales. * * See: https://en.wikipedia.org/wiki/Conversion_of_units_of_temperature * * Copyright © 2016 Richard Lesh. All rights reserved. *****************************************************************************/ #include #include #include #include #include #include std::locale utf8loc(std::locale(), new std::codecvt_utf8); using namespace std; static double const CELCIUS_TO_KELVIN = 273.15; static double const FAHRENHEIT_TO_RANKINE = 459.67; int main(int argc, char **argv) { setlocale(LC_ALL, "en_US.UTF-8"); wcout.imbue(utf8loc); wcin.imbue(utf8loc); wcout << fmt::format(L"{0:>7s} {1:>7s} {2:>7s} {3:>7s}", L"C", L"F", L"K", L"R") << endl; for (int i = -270; i <= 120; i += 5) { double degreesC = i; double degreesF = 1.8 * degreesC + 32.; double degreesK = degreesC + CELCIUS_TO_KELVIN; double degreesR = degreesF + FAHRENHEIT_TO_RANKINE; wcout << fmt::format(L"{0:7.2f} {1:7.2f} {2:7.2f} {3:7.2f}", degreesC, degreesF, degreesK, degreesR) << endl; } return 0; }