/*******************************************************************************
Problem: Write a program that accepts a integer number greater than zero and
less
than 400 as a three-digit Arabic (ordinary) numeral and outputs the
number written in Roman numerals.Important Roman numerals are: I for 1,
V for 5, X for 10, L for 50, C for 100. Recall that some numbers are
formed by using a kind of subtraction of one Roman digit; e.g.,
IV is 4 produced as V minus I, XL is 40, XC is 90 etc. Your program
should include a loop that lets the user repeat this calculation until
the user says she or he is done.
Programmer: Guillermo Julca
Mercy College
*******************************************************************************/
using
System;namespace
Romans{
/// <summary>
/// Summary description for Class1. /// </summary> class Class1{
static void Main(string[] args)
{
int number,cent,dec,unid,r,i;
char ans;
do
{
do
{
Console.Write("Enter an arabic number between 1 -> 400 to evaluate : ");
number = Convert.ToInt32(Console.ReadLine());
}while (number <=0 || number>=400);
cent = number / 100;
r = number % 100;
dec =r / 10;
unid = r % 10;
Console.WriteLine("The number in Roman notation is : ");
Console.WriteLine();
for (i=1;i<= cent; i++)
Console.Write("C");
switch(dec)
{
case 1 :
Console.Write("X");
break;
case 2 :
Console.Write("XX");
break;
case 3 :
Console.Write("XX");
break;
case 4 :
Console.Write("XL");
break;
case 5 :
Console.Write("L");
break;
case 6 :
Console.Write("LX");
break;
case 7 :
Console.Write("LXX");
break;
case 8 :
Console.Write("LXXX");
break;
case 9 :
Console.Write("XC");
break;
}
switch(unid)
{
case 1 :
Console.Write("I");
break;
case 2 :
Console.Write("II");
break;
case 3 :
Console.Write("III");
break;
case 4 :
Console.Write("IV");
break;
case 5 :
Console.Write("V");
break;
case 6 :
Console.Write("VI");
break;
case 7 :
Console.Write("VII");
break;
case 8 :
Console.Write("VIII");
break;
case 9 :
Console.Write("IX");
break;
}
Console.WriteLine();
Console.WriteLine();
Console.Write("Do you want to continue (Y/N) ? : ");
ans = Convert.ToChar(Console.ReadLine());
}
while (ans =='Y' || ans =='y');}
}
}
//*************************************************************************************************************
GJ
Guillermo Julca