Advertisement
Guest User

Roman Num Convert

a guest
Jul 21st, 2012
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.97 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class RomanType
  7. {
  8.     string romanNumerals;
  9.     int decimalValue;
  10.  
  11. public:
  12.  
  13.     void setNumerals(string);
  14.     string getNumerals();
  15.     void convertNumerals();
  16.     void setValue(int);
  17.     int getValue();
  18.     void print();
  19.  
  20. };
  21.  
  22. void RomanType::setNumerals(string rNum)
  23. {
  24.  
  25.     romanNumerals = rNum;
  26.  
  27. }
  28. string RomanType::getNumerals()
  29. {
  30.  
  31.     return romanNumerals;
  32.  
  33. }
  34.  
  35. void RomanType::convertNumerals()
  36. {
  37.     decimalValue = 0;
  38.  
  39.     for(int i = 0; i < getNumerals().size(); i++)
  40.     {
  41.  
  42.         switch(getNumerals()[i])
  43.         {
  44.  
  45.         case 'M':
  46.  
  47.             RomanType::setValue(1000);
  48.  
  49.             break;
  50.  
  51.         case 'D':
  52.  
  53.             RomanType::setValue(500);
  54.  
  55.             break;
  56.  
  57.         case 'C':
  58.  
  59.             RomanType::setValue(100);
  60.  
  61.             break;
  62.  
  63.         case 'L':
  64.  
  65.             RomanType::setValue(50);
  66.  
  67.             break;
  68.  
  69.         case 'X':
  70.  
  71.             RomanType::setValue(10);
  72.  
  73.             break;
  74.  
  75.         case 'V':
  76.  
  77.             RomanType::setValue(5);
  78.  
  79.             break;
  80.  
  81.         case 'I':
  82.  
  83.             RomanType::setValue(1);
  84.  
  85.             break;
  86.  
  87.         }
  88.  
  89.     }
  90.  
  91. }
  92.  
  93. void RomanType::setValue(int dValue)
  94. {
  95.  
  96.     decimalValue += dValue;
  97.  
  98. }
  99.  
  100. int RomanType::getValue()
  101. {
  102.  
  103.     return decimalValue;
  104.  
  105. }
  106.  
  107. void RomanType::print()
  108. {
  109.  
  110.     int userDecision;
  111.  
  112.     cout << "[1] To Print Roman | [2] To Print Decimal Value: ";
  113.     cin >> userDecision;
  114.     switch (userDecision)
  115.     {
  116.  
  117.     case 1:
  118.  
  119.         cout << "Roman Numerals Entered: \t" << getNumerals() << endl;
  120.  
  121.         break;
  122.  
  123.     case 2:
  124.  
  125.         cout << "Value Of Roman Numerals Entered: \t" << RomanType::getValue() << endl;
  126.  
  127.     }
  128. }
  129.  
  130. int main()
  131. {
  132.     string userInput;
  133.  
  134.     cout << "Enter Your Roman Numerals: " << endl;
  135.     cin >> userInput;
  136.  
  137.     RomanType rType;
  138.     rType.setNumerals(userInput);
  139.     rType.convertNumerals();
  140.     rType.print();
  141.  
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement