{lang: ‘ru’}

конвертер температур, конвертер величинВ этот раз я хочу представить Вашему вниманию готовый конвертер температур написанный на 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.


Получайте новые статьи блога прямо себе на почту