Написать код с++ ОЧЕНЬ СРОЧНО
Единицы длины пронумерованы следующим образом: 1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр. Написать функцию, которая по номеру единиц
длины и длиной отрезка L в этих единицах (действительное число) выводит длину данного отрезка в метрах.
Answers & Comments
Ответ:
#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 можеш видалити, це чисто для тестування, відладки коду.