Back to Home Page

/*******************************************************************************
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

View Output


*******************************************************************************/

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');

}

}

}

//*************************************************************************************************************

View Output

Back to Home Page


 GJ   Guillermo Julca