Respuesta :
Here is code in c++.
// include headers
#include <bits/stdc++.h>
using namespace std;
// main function
int main ()
{
// string array initialize with roman number equivalent of 1 to 10
string rmn[21] = { " ", "I", "II", "III", "IV", "V","VI", "VII", "VIII", "IX", "X"};
// declare variable to take input
int x;
// check for a valid input
do
{
do
{
cout << "Enter a number and between 1 and 20\n"
<< "Enter '0' to exit program: ";
cin >> x;
if (x < 0 || x > 20)
cout << "Please Enter number between 1-20 only:\n";
}
while (x < 0 || x > 20);
// print equivalent roman number
if(x<=10)
{
cout << rmn[x] << endl;
}
else
{
x=x-10;
cout<<"X"<< rmn[x] << endl;
}
}
// if input is 0 then end the program
while (x != 0);
cout << endl;
return 0;
}
Explanation:
Create a string array and store roman number equivalent of 1 to 10 in it. Take input from user between 1 to 20 only.If the input is greater than 20 or less than 0 then it again ask for the valid input and if the input is less or equal to 10 then find the equivalent roman number form then string array and print it. And if the input is greater than 10 and less or equal to 20 then it subtract 10 from the input and find the equivalent to the remainder and append "X" before the roman number.This process continue till user enter 0 as input. Here 0 is used to end the program.
Output:
Enter a number and between 1 and 20
Enter '0' to exit program: 24
Please Enter number between 1-20 only:
Enter a number and between 1 and 20
Enter '0' to exit program: -3
Please Enter number between 1-20 only:
Enter a number and between 1 and 20
Enter '0' to exit program: 5
V
Enter a number and between 1 and 20
Enter '0' to exit program: 7
VII
Enter a number and between 1 and 20
Enter '0' to exit program: 0