Monday, November 26, 2012

C++ PROGRAM TO CONVERT THE ROMAN NUMERAL INTO AN ARABIC INTEGER


/* A C++ PROGRAM TO CONVERT THE ROMAN NUMERAL INTO AN ARABIC INTEGER  */
#include<iostream.h>
#include<conio.h>
void main()
{
char s[10];
int sum=0,i=0;
clrscr();
cout<<"Enter the roman numeral :";
cin>>s;
while(s[i]!='\0')
{
switch(s[i])
{
case 'm':sum+=1000;
break;
case 'd':if(s[i-1]=='c')
sum+=400;
else if(s[i-1]=='l')
   sum+=450;
else
sum+=500;
break;
case 'c':if(s[i+1]!='d')
{
if(s[i-1]=='l')
sum+=50;
else
sum+=100;
}
break;
case 'l':if(s[i+1]!='c')
sum+=50;
break;
case 'x':if(s[i-1]=='i')
sum+=9;
else
sum+=10;
break;
case 'v':if(s[i-1]=='i')
sum+=4;
else
sum+=5;
break;
case 'i':if(s[i+1]!='x' || s[i+1]!='v')
sum+=1;
break;
default :cout<<"Invalid Roman numeral arises :";
}
i++;
}
cout<<"The equivalent Arabic integer is :"<<sum;
getch();
}

/* OUTPUT
------
Enter the roman numeral :mdlvi
The equivalent Arabic integer is :1556
*/

No comments:

Post a Comment