Adsence

domingo, 12 de diciembre de 2010

De-Romano-a-Decimal

Leave a Comment
De romano a decimal

Programa que te permite ingresar numeros romanos y te lo devuelve en numeros Decimales

[cpp]

#include < stdio.h >
#include < conio.h >
int saber(char n)
{
int nv=0;
switch(n)
{
case 'I':nv=1;break;
case 'V':nv=5;break;
case 'X':nv=10;break;
case 'L':nv=50;break;
case 'C':nv=100;break;
case 'D':nv=500;break;
case 'M':nv=1000;break;
};
//printf("%d,",nv);
return nv;
};

void convertir(char r[],int n)
{
int s=0,ant,sig;
for(int i=0;i< n;i++)
{
if(i< n-1)
{
if(saber(r[i])==saber(r[i+1]) && saber(r[i])==saber(r[i+2])){
ant=saber(r[i])*3;
i+=2;
sig=saber(r[i+1]);
}else{
ant=saber(r[i]);
sig=saber(r[i+1]);

}
//if(i< n-1){

}else{
ant=sig;
};
if(ant >sig)
s=s+ant;
else if(ant< sig){
s=s+(sig-ant);
i++;
}else{
s=s+ant+sig;
i++;
};
printf("S=%d\n",s);
};
printf("El numero es : %d",s);
};

main()
{
int n=1;
while(n!=0){
printf("\nDigite el numero a de caracteres que tiene el numero romano,para salir 0:");
scanf("%d",&n);
char rom[n];
printf("Digite el numero Romano:");
scanf("%s",&rom;);
convertir(rom,n);
};
printf("\njamper91.hostei.com");
getch();
return 0;
}

[/cpp]

0 comentarios :