Programación General > C/C++
programa c q pase numeros decimales a romanos
(1/1)
josepe0069:
Hola a todos a ver si me podriais decir como hacer un programa en C q pase numeros decimales a numeros romanos!del 1 al 3999, solo utilizando bucles y condicional if! gracias de antemano!
camaradakoba:
yo tengo esto ojala te sirva
--- Código: C++ --- void main(){ char romano[10]; long entero; char caracter; int i,longitud; cout<<"Ingrese numero romano correctamente:"; cin>>romano; longitud = strlen(romano); entero = 0; for(i=longitud-1;i>=0;i--) { caracter = romano[i]; switch(caracter) { case 'M': entero += 1000; break; case 'D': if(i<longitud-1 && romano[i+1]== 'M') entero -= 500; else entero += 500; break; case 'C': if(i<longitud-1 && strchr("DM", romano[i+1])) entero -= 100; else entero += 100; break; case 'L': if(i<longitud-1 && strchr("CDM", romano[i+1])) entero -= 50; else entero += 50; break; case 'X': if(i<longitud-1 && strchr("LCDM", romano[i+1])) entero -= 10; else entero += 10; break; case 'V': if(i<longitud-1 && strchr("XLCDM", romano[i+1])) entero -= 5; else entero += 5; break; case 'I': if(i<longitud-1 && strchr("VXLCDM", romano[i+1])) entero -= 1; else entero += 1; break; } }
Navegación
Ir a la versión completa