Advertisement
Bidca

Conversor de Numeros Arabicos a Romanos

Mar 30th, 2020
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.61 KB | None | 0 0
  1. #include <iostream>
  2. ///Nota solo comvierte de 1 a 3999.
  3. int main () {
  4.  
  5.     std::cout << "Ingrese digito: ";
  6.     int cont = 0, numero;
  7.     std::cin >> numero;
  8.     int unidades, decenas, centenas, miles;
  9.     while (numero != 0) {
  10.         if (cont == 0) {
  11.             unidades = numero % 10;
  12.         } else if (cont == 1) {
  13.             decenas = numero % 10;
  14.         } else if (cont == 2) {
  15.             centenas = numero % 10;
  16.         } else if (cont > 2) {
  17.             miles = numero % 10;
  18.         }
  19.         numero = numero / 10;
  20.         ++cont;
  21.     }
  22.  
  23.  
  24.     int aux = miles;
  25.     while (aux != 0 && miles < 4) {
  26.         std::cout << "M";
  27.         --aux;
  28.     }
  29.     switch (centenas) {
  30.         case 1 :
  31.             std::cout << "C";
  32.             break;
  33.         case 2 :
  34.             std::cout << "CC";
  35.             break;
  36.         case 3 :
  37.             std::cout << "CCC";
  38.             break;
  39.         case 4:
  40.             std::cout << "CD";
  41.             break;
  42.         case 5:
  43.             std::cout << "D";
  44.             break;
  45.         case 6 :
  46.             std::cout << "DC";
  47.             break;
  48.         case 7 :
  49.             std::cout << "DCC";
  50.             break;
  51.         case 8:
  52.             std::cout << "DCCC";
  53.             break;
  54.         case 9:
  55.             std::cout << "CM";
  56.             break;
  57.     }
  58.     switch (decenas) {
  59.         case 1 :
  60.             std::cout << "X";
  61.             break;
  62.         case 2 :
  63.             std::cout << "XX";
  64.             break;
  65.         case 3 :
  66.             std::cout << "XXX";
  67.             break;
  68.         case 4:
  69.             std::cout << "XL";
  70.             break;
  71.         case 5:
  72.             std::cout << "L";
  73.             break;
  74.         case 6 :
  75.             std::cout << "LX";
  76.             break;
  77.         case 7 :
  78.             std::cout << "LXX";
  79.             break;
  80.         case 8:
  81.             std::cout << "LXXX";
  82.             break;
  83.         case 9:
  84.             std::cout << "XC";
  85.             break;
  86.     }
  87.     switch (unidades) {
  88.         case 1 :
  89.             std::cout << "I";
  90.             break;
  91.         case 2 :
  92.             std::cout << "II";
  93.             break;
  94.         case 3 :
  95.             std::cout << "III";
  96.             break;
  97.         case 4:
  98.             std::cout << "IV";
  99.             break;
  100.         case 5:
  101.             std::cout << "V";
  102.             break;
  103.         case 6 :
  104.             std::cout << "VI";
  105.             break;
  106.         case 7 :
  107.             std::cout << "VII";
  108.             break;
  109.         case 8:
  110.             std::cout << "VIII";
  111.             break;
  112.         case 9:
  113.             std::cout << "IX";
  114.             break;
  115.         }
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement