
Написать код с++ ОЧЕНЬ СРОЧНО Единицы длины пронумерованы следующим образом: 1 – дециметр, 2 –
километр, 3 – метр, 4 – миллиметр, 5 – сантиметр. Написать функцию, которая по номеру единиц длины и длиной отрезка L в этих единицах (действительное число) выводит длину данного отрезка в метрах.

Ответы на вопрос

Ответ:
#include <iostream>
#define DM 1
#define KM 2
#define M 3
#define MM 4
#define SM 5
long double calculate(int unit, double size)
{
if (unit < 1 || unit > 5) throw std::exception("Error: wront unit type\n");
if (unit == DM) return size / 10;
if (unit == KM) return size * 1000;
if (unit == M) return size;
if (unit == MM) return size / 1000;
if (unit == SM) return size / 100;
}
int main() // TESTING
{
try
{
std::cout << "10 DM to M: " << calculate(1, 10) << std::endl;
std::cout << "10 KM to M: " << calculate(2, 10) << std::endl;
std::cout << "10 M to M: " << calculate(3, 10) << std::endl;
std::cout << "10 MM to M: " << calculate(4, 10) << std::endl;
std::cout << "10 SM to M: " << calculate(5, 10) << std::endl;
}
catch (const std::exception& e)
{
std::cout << e.what() << std::endl;
return 1;
}
return 0;
}
Объяснение:
Функцію main можеш видалити, це чисто для тестування, відладки коду.



Конечно! Вот пример кода на C++, реализующего функцию для перевода длины отрезка из заданных единиц в метры:
cpp#include <iostream>
double convertToMeters(int unit, double length)
{
double meters;
switch (unit)
{
case 1: // дециметр
meters = length * 0.1;
break;
case 2: // километр
meters = length * 1000.0;
break;
case 3: // метр
meters = length;
break;
case 4: // миллиметр
meters = length * 0.001;
break;
case 5: // сантиметр
meters = length * 0.01;
break;
default:
std::cout << "Неверный номер единицы длины!" << std::endl;
return 0.0;
}
return meters;
}
int main()
{
int unit;
double length;
std::cout << "Введите номер единицы длины: ";
std::cin >> unit;
std::cout << "Введите длину отрезка: ";
std::cin >> length;
double result = convertToMeters(unit, length);
std::cout << "Длина отрезка в метрах: " << result << std::endl;
return 0;
}
Вы можете вызвать функцию convertToMeters
из других частей вашей программы, передавая в нее номер единицы длины (unit
) и длину отрезка (length
). Она вернет значение длины отрезка в метрах. При запуске программы она запросит у пользователя ввод номера единицы длины и длину отрезка, а затем выведет результат в метрах.
Убедитесь, что компилятор C++ поддерживает стандарт C++11 или более новый (например, C++17), чтобы код успешно скомпилировался.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili