В этот раз я хочу представить Вашему вниманию готовый конвертер температур написанный на C++. Вполне возможно, что такое задание попадется в лабораторных работах по программированию.
Думаю, рассказывать историю о том, кто, где, когда, зачем и почему изобрел единицы измерения температур нет смысла, так что я преступлю к самому важному
При написании конвертера я использовал такие формулы пересчета величин:
Пересчёт температуры между основными шкалами |
|||
|
Кельвин |
Цельсий |
Фаренгейт |
Кельвин (K) |
= K |
= С + 273,15 |
= (F + 459,67) / 1,8 |
Цельсий (°C) |
= K − 273,15 |
= C |
= (F − 32) / 1,8 |
Фаренгейт (°F) |
= K · 1,8 − 459,67 |
= C · 1,8 + 32 |
= F |
И, собственно говоря, сам код:
#include <iostream> using namespace std; double Celsius = 0, Kelvin = 0, Fahrenheit = 0; void setValue(int num) { switch(num) { case 1: { cout << "Градусы цельсия: "; cin >> Celsius; Kelvin = Celsius + 273.15; Fahrenheit = Celsius * 1.8 + 32; } break; case 2: { cout << "Градусы кельвина: "; cin >> Kelvin; Celsius = Kelvin - 273,15; Fahrenheit = Kelvin * 1.8 - 459.67; } break; case 3: { cout << "Градусы фаренгейта: "; cin >> Fahrenheit; Celsius = (Fahrenheit - 32) / 1.8; Kelvin = (Fahrenheit + 459.67) / 1.8; } break; default: break; } } void getValue() { system("cls");//очистка экрана cout << "Градусы цельсия: " << Celsius << endl; cout << "Градусы кельвина: " << Kelvin << endl; cout << "Градусы фаренгейта: " << Fahrenheit << endl; } void main() { setlocale(LC_ALL, "Russian"); int ch = 0; cout << "Выберите единицу измерения: " << endl; cout << "(1) - Цельсий, (2) - Кельвин, (3) - Фаренгейт" << endl; cout << " -> "; cin >> ch; system("cls"); setValue(ch); getValue(); }
Функция setValue принимает целое число, от 1 до 3, другие варианты ввода не засчитываются. После того, как мы выбрали единицу измерения, оператор switch выбирает соответствующий участок кода к исполнению. Далее следует пересчет величин, формулы этого были указаны в таблице выше. Функция getValue выводит на экран все величины.
Чтобы проверить работоспособность написанной программы можно использовать обычный калькулятор или готовый конвертер, с помощью которого можно осуществить нужных нам величин.
Программа была написана в Visual Studio 2010.
Получайте новые статьи блога прямо себе на почту
Спасибо за то, что я пересматривая Ваш пост, вспомнил свою молодость 1994г., когда учился на программиста и изучал С++