Простейшее задание
Объяснение:
#include <iostream>
#include <functional>
#include <string>
#include <vector>
struct converter
{
std::function<double(double)> function;
std::string to;
};
int main()
{
std::vector<converter> table =
{
{[](double d) { return d; }, "kg"},
{[](double d) { return d / 1000 / 1000; }, "mg"},
{[](double d) { return d / 1000; }, "g"},
{[](double d) { return d * 100; }, "cnt" },
{[](double d) { return d * 1000; }, "tones" }
};
int ind = 0;
std::cin >> ind;
ind -= 1;
if (ind >= 0 && ind < table.size())
{
int m = 0;
std::cin >> m;
const converter& current = table[ind];
std::cout << "Result of converting " << m << " " << current.to << " is " << current.function(m) << " kg" << std::endl;
}
}