Description:
In this program we have to take the roman
value. This value is converted into a it’s equivalent decimal number.
Ex: X=10Program:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
int *a,len,i,j,k; char *rom;
clrscr();
printf("Enter the Roman Numeral:"); scanf("%s",rom);
len=strlen(rom);
for(i=0;i<len;i++) // loop will continue until I is not graterthan length.
{
if(rom[i]=='I')
a[i]=1;
else if(rom[i]=='V') a[i]=5;
else if(rom[i]=='X') a[i]=10;
else if(rom[i]=='L') a[i]=50;
else if(rom[i]=='C') a[i]=100;
else if(rom[i]=='D') a[i]=500;
else if(rom[i]=='M') a[i]=1000;
else
{
printf("\nInvalid Value");
getch();
exit(0);
}
}
k=a[len-1];
91
for(i=len-1;i>0;i--) // loop will continue until I lessthan zero
{
if(a[i]>a[i-1]) // check the condition
k=k-a[i-1];
else if(a[i]==a[i-1] || a[i]<a[i-1])
k=k+a[i-1];
}
printf("\nIts Decimal Equivalent is: %d",k );
getch();
}
Output:
Enter the Roman Numeral:D
Its Decimal Equivalent is:500
Enter the Roman Numeral:X
Its Decimal Equivalent is:10
Enter the Roman Numeral:23
Invalid Value
Conclusion:
The program is error free
VIVA QUESTIONS:
1) What is difference between structure and unions ?
Ans : The amount of memory required to store a structure variable is the sum of size all the members in addition to the padding bytes that may be provided by the compiler. In case of a union the amount of memory required is the same as that required by its largest member.
2) What are various operations performed on union ?
Ans: i)An union variable can be assigned to another union variable
ii) A union variable can be passed to a function as a parameter
iii) The address of the union variable can be extracted by using the address of operator (&).
Program
Strings
structures
c programs
No comments:
Post a Comment