Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <iomanip>
- using namespace std;
- int main(int argc, char** argv)
- {
- int integer;
- int piece;
- string roman;
- cout << "Arabic to Roman numeral conversion." << endl;
- cout << "Input the integer to convert." << endl;
- cin >> integer;
- if (integer < 1000 || integer > 3000)
- {
- cout << integer << " is Out of Range!";
- }
- else
- {
- if(integer >= 1000)
- {
- piece = (integer / 1000);
- for (int i = 0; i < piece; i++)
- {
- roman += 'M';
- }
- }
- integer %= 1000;
- }
- if (integer >= 100)
- {
- piece = (integer / 100);
- }
- if (piece == 9)
- {
- roman += 'CM';
- }
- else if (piece >= 5)
- {
- roman += 'D';
- for (int i = 0; i < piece - 5; i++)
- {
- roman += 'C';
- }
- }
- else if (piece == 4)
- {
- roman += 'CD';
- }
- else if (piece >= 1)
- {
- for (int i = 0; i < piece - 5; i++)
- {
- roman += "C";
- }
- integer %= 100;
- }
- if (integer >= 10)
- {
- piece = (integer / 10);
- }
- if (piece == 9)
- {
- roman += 'XC';
- }
- else if (piece >= 5)
- {
- roman += 'L';
- for (int i = 0; i < piece - 5; i++)
- {
- roman += 'X';
- }
- }
- else if (piece == 4)
- {
- roman += 'XL';
- }
- else if (piece >= 1)
- {
- for (int i = 0; i < piece; i++)
- {
- roman += 'X';
- }
- integer %= 10;
- }
- if (integer >= 1)
- {
- piece = integer;
- if (piece == 9)
- {
- roman += 'IX';
- }
- else if (piece >= 5)
- {
- roman += 'V';
- for (int i = 0; i < piece - 5; i++)
- {
- roman += 'I';
- }
- }
- else if (piece == 4)
- {
- roman += 'IV';
- }
- else if (piece >= 1)
- {
- for (int i = 0; i < piece; i++)
- {
- roman += 'I';
- }
- }
- }
- cout << integer << " is equal to " << roman;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement