Advertisement
Guest User

hw09 code

a guest
Feb 26th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. string digit(int n, const string& symbols)
  2. {
  3. string one = string(1, symbols[0]);
  4. string two = string(1, symbols[1]);
  5. string three = string(1, symbols[2]);
  6.  
  7. switch (n)
  8. {
  9. case 1: return one; break;
  10. case 2: return one + one; break;
  11. case 3: return one + one + one; break;
  12. case 4: return one + two; break;
  13. case 5: return two; break;
  14. case 6: return two + one; break;
  15. case 7: return two + one + one; break;
  16. case 8: return two + one + one + one; break;
  17. case 9: return one + three; break;
  18. default: return "";
  19. }
  20. }
  21.  
  22. string toRoman(int n)
  23. {
  24. string roman;
  25. if (n <= 0 || n >= 4000)
  26. {
  27. return "OUT OF RANGE";
  28. }
  29. int digit = n / 1000;
  30.  
  31. if (digit == 3)
  32. roman = "MMM";
  33. else if (digit == 2)
  34. roman = "MM";
  35. else if (digit == 1)
  36. roman = "M";
  37.  
  38. n = n % 1000;
  39. digit = n / 100;
  40. roman += hundreds(digit);
  41.  
  42. n = n % 100;
  43. digit = n / 10;
  44. roman += tens(digit);
  45.  
  46. digit = n % 10;
  47. roman += ones(digit);
  48.  
  49. return roman;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement