C/Visual C - Romanos & Decimales

 
Vista:

Romanos & Decimales

Publicado por Aaronc (1 intervención) el 30/08/2000 00:00:00
Hola:

Estoy empezando a programar, y tengo un problema, como convierto numeros ROMANOS a Numeros DECIMALES..

Si tienes el codigo, por favor enviamelo.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

aqui esta en javascript, te puede dar ideas

Publicado por xj35u5x (63 intervenciones) el 31/08/2000 00:00:00
http://www.vivir.com/universidad/convnumromanos.htm

En esa página esta lo que tu necesitas, pero escrito en javascript.

Yo creo que si conoces javascript, te puede dar una idea de como hacerlo.

xj35u5x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AQUI ESTA LO QUE NECESITAS

Publicado por xj35u5x (63 intervenciones) el 31/08/2000 00:00:00
Aquí está el código, lo adapté de
la página que te dí, adonde estaba con
javascript, con algunas ideas mías para
transportarlo a codigo c

Cualquier duda escríbeme.

Me costó trabajo !!!!

Si tienes algún manual de programacion gráfica
te lo agradecería.

xj35u5x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AQUI EL CODIGO DE ROMANOS->DECIMALES

Publicado por xj35u5x (63 intervenciones) el 31/08/2000 00:00:00
#include <stdio.h>

main() { int w[20],d=0,i=0,x,j;
printf("Ingrese su n£mero romano:");
while((x=getch())==´i´ | x==´v´ | x==´x´ | x==´l´ | x==´c´ | x==´d´ | x==´m´)
{ w[i]=x;
printf("%c",w[i]);
i++; }

for(j=0;j<i;j++)
{
if(w[j]==´i´)
{ if(w[j+1]==´v´)
d=d+4;
else
if(w[j+1]==´x´)
d=d+9;
else d=d+1; }

if(w[j]==´v´)
{ if(w[j-1]!=´i´)
d=d+5; }

if(w[j]==´x´)
{ if(w[j-1]!=´i´)
if(w[j+1]==´l´)
d=d+40;
else if(w[j+1]==´c´)
d=d+90;
else d=d+10; }

if(w[j]==´l´)
{ if(w[j-1]!=´x´)
d=d+50; }

if(w[j]==´c´)
{ if(w[j-1]!=´x´)
if(w[j+1]==´d´)
d=d+400;
else if(w[j+1]==´m´)
d=d+900;
else d=d+10
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

CONTINUE-----(no alcanzó en un solo post)

Publicado por xj35u5x (63 intervenciones) el 31/08/2000 00:00:00
}

if(w[j]==´d´)
{ if(w[j-1]!=´c´)
d=d+500; }
if(w[j]==´m´)
{ if(w[j-1]!=´c´)
d=d+1000; }
} /* termina el ciclo for */
printf("\n");
printf("El n£mero decimal es %i\n",d);
printf("DESEA CALCULAR OTRO NUMERO ROMANO(S/N) ??");
if((x=getch())==´s´ | x==´S´)
{ printf("\n");
main(); }

/* by xj35u5x
[email protected]
www.geocities.com/xj35u5x */
}


ESPERO QUE TE HAYA SERVIDO DE ALGO, PERO EN TODO CASO, TE DIGO LA VERDAD, INCLUSO A MI ME SIRVIO DE MUCHO.... !!!! APRENDÍ MUCHO CON EL DESAFÍO QUE PUSISTE.....

adios.
saludos desde CHILE

xj35u5x
www.geocities.com/xj35u5x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

TEN EN CUENTA

Publicado por xj35u5x (63 intervenciones) el 31/08/2000 00:00:00
Debes tener en cuenta que el programa
SI SIRVE para calcular números romanos, pero
no para ver si está un romano bien escrito.

Lo que quiero decir, es que si tu por ejemplo
ingresas el número

xxxxx

el programa lo interpretará como 50
supongo que me entiendes.

En todo caso, eso no quita la total funcionalidad
del programa, es solo una salvedad.

xj35u5x
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar