#include<iostream>
#include<string>
using std::string;
string func(int num, string, string, string);
int main(int argc, char argv[]) {
system("chcp 1251>0");
std::cout << "Введите число не большее 3999: ";
int arabien_num;
if (!(std::cin >> arabien_num) || (arabien_num > 3999)) {
std::cerr << "Невозможно инициализировать число!" << std::endl;
exit(1);
}
std::string rome_num;
rome_num += func(arabien_num / 1000, "", "", "M");
arabien_num %= 1000;
rome_num += func(arabien_num / 100, "M", "D", "C");
arabien_num %= 100;
rome_num += func(arabien_num / 10, "C", "L", "X");
arabien_num %= 10;
rome_num += func(arabien_num , "X", "V", "I");
std::cout << rome_num << std::endl;
return 0;
}
string func(int num, string hi, string re, string lo)
{
switch(num)
{
case 9:
return lo + hi;
case 8:
return re + lo + lo + lo;
case 7:
return re + lo + lo;
case 6:
return re + lo;
case 5:
return re;
case 4:
return lo + re;
case 3:
return lo + lo + lo;
case 2:
return lo + lo;
case 1:
return lo;
case 0:
return "";
}
}