Question: (c++) Write a program that converts a positive integer into the Roman number system. (c++) Roman numbers. Write a program that converts a positive integer

(c++) Write a program that converts a positive integer into the Roman number system.(c++)

Roman numbers. Write a program that converts a positive integer into the Roman number system. The Roman number system has digits

I 1 V 5 X 10 L 50 C 100 D 500 M 1,000 

Numbers are formed according to the following rules. (1) Only numbers up to 3,999 are represented. (2) As in the decimal system, the thousands, hundreds, tens, and ones are expressed separately. (3) The numbers 1 to 9 are expressed as

I 1 II 2 III 3 IV 4 V 5 VI 6 VII 7 VIII 8 IX 9 

As you can see, a I preceding a V or X is subtracted from the value, and you can never have more than three Is in a row. (4) Tens and hundreds are done the same way, except that the letters X, L, C and C, D, M are used instead of I and V, X, respectively.

Your program should take an input, such as 1978, and convert it to Roman numerals, MCMLXXVIII.

code

#include #include using namespace std; int main() { //ask user to input num to convert //if num is less than 0 { cout << "Your number must be greater than zero."; return 1; } string roman = ""; int digit = num / 1000; //if digit is equal to three { roman = "MMM"; } else if (...) { roman = "MM"; } else if (...) { roman = "M"; } num = num % 1000; digit = num / 100; if (digit == 9) { roman = ... } else if (digit == 4) { roman = ... } else { if (digit >= 5) { roman = roman + "D"; digit = digit - 5; } if (digit == 3) { roman = ...; } else if (digit == 2) { roman = ...; } else if (digit == 1) { roman = ...; } } num = num % 100; digit = num / 10; if (digit == 9) { roman = roman + "XC"; } else if (digit == 4) { roman = ...; } else { if (digit >= 5) { roman = ...; digit = ...; } if (digit == 3) { roman = ...; } else if (digit == 2) { roman = ...; } else if (digit == 1) { roman = ...; } } digit = num % 10; if (digit == 9) { roman = ...; } else if (digit == 4) { roman =...; } else { if (digit >= 5) { roman = ...; digit = ...; } if (digit == 3) { roman = ...; } else if (digit == 2) { roman = ...; } else if (digit == 1) { roman = ...; } } //print results //return 0 }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!