/* Programa que pasa los numeros romanos a decimales */
/* Numero romanos
Equivalencias decimales:
M 1000
D 500
C 100
L 50
X 10
V 5
I 1 */
#include<conio.h>
#include<stdio.h>
void main()
{
char romanos[11]={0,0,0,0,0,0,0,0,0,0,0};
char letras[7]={'M','C','D','L','X','V','I'};
int numeros[10];
int cont;
int num=0;
clrscr();
textcolor(9);
printf("\nPasa de numeros romanos a decimales");
printf("\n-----------------------------------");
printf("\n * Introduce el n. romano (en mayusculas): ");
scanf("%10s",&romanos);
printf("\n");
for(cont=0;cont<11;cont++)
{
switch(romanos[cont])
{
case 'M':
numeros[cont]=1000;
break;
case 'C':
numeros[cont]=100;
break;
case 'D':
numeros[cont]=500;
break;
case 'L':
numeros[cont]=50;
break;
case 'X':
numeros[cont]=10;
break;
case 'V':
numeros[cont]=5;
break;
case 'I':
numeros[cont]=1;
break;
case 0:
numeros[cont]=0;
break;
default:
printf("\n Has introducido caracteres invalidos");
numeros[cont]=0;
break;
} /* fin switch */
} /* fin for */
for(cont=0;cont<11;cont++)
{
if(numeros[cont]<numeros[cont+1])
{
numeros[cont]=-numeros[cont];
}
if(numeros[cont]>=numeros[cont])
{
numeros[cont]=numeros[cont];
}
}
for(cont=0;cont<11;cont++)
{
num=num+(numeros[cont]);
}
for(cont=0;cont<10;cont++)
{
printf("%i\t",numeros[cont]);
}
printf("\n");
printf("\n El numero correspondiente en decimal: ");
textcolor(9);
cprintf("%i",num);
getch();
}
Comentarios sobre la versión: Versión 1 (3)
numeros romanos esta mal puesto
Suerte para la proxima Lucía!!! d;-)