jueves, 22 de septiembre de 2011

C++ convertir de decimal a numero romano

dejo este codigo porque de verdad me rompio los huevos encontrar uno decente.


dejo enunciado y todo


/*Manuel Cepeda Martinez
Curso c++ sena virtual

En la clase de aritmética de la escuela secundaria técnica No. 35, el maestro les solicita
al departamento de sistemas que se le desarrolle un programa que pida al usuario un número
entero decimal entre 1 y 99, incluyendo los extremos y obtenga la correspondiente
representación en el sistema romano y su decimal, con el objetivo de poder explicar mediante
el programa visualmente el sistema de conversión a sus alumnos. El programa mostrará
en pantalla el número decimal y su conversión al sistema romano.*/

#include


int main(void)
{
int x, i=0;
char num[20];

do{
printf("imprima un numero de 1 a 99: ");
scanf("%d", &x);
if(x<1 || x>99){
printf("por favor digite un numero entre 1 y 99\n");
}
}while(x<1 || x>99);


printf("TENEMOS EL NUMERO %d",x);
printf("\nEmpezaremos a convertirlo a ROMANO\n\n");
do{
if(x>=90){
printf("el numero es mayor o igual a noventa por lo tanto: ");
printf("XC \n");
num[i]='X';
i++;
num[i]='C';
x=x-90;
i++;
}
if(x>=50){
printf("el numero es mayor o igual a 50 por lo tanto: ");
printf("L \n");
num[i]='L';
i++;
x=x-50;
}
if(x>=40){
printf("el numero es mayor o igual a 40 por lo tanto: ");
printf("XL \n");
num[i]='X';
i++;
num[i]='L';
x=x-40;
}
if(x>=30){
printf("el numero es mayor o igual a 30 por lo tanto: ");
printf("X \n");
num[i]='X';
i++;
x=x-10;
}
if(x>=20){
printf("el numero es mayor o igual a 20 por lo tanto: ");
printf("X \n");
num[i]='X';
i++;
x=x-10;
}
if(x>=10){
printf("el numero es mayor o igual a 10 por lo tanto: ");
printf("X \n");
num[i]='X';
i++;
x=x-10;
}
if(x>=9){
printf("el numero es mayor o igual a 9 por lo tanto: ");
printf("IX \n");
num[i]='I';
i++;
num[i]='X';
i++;
x=x-9;
}
if(x>=5){
printf("el numero es mayor o igual a 5 por lo tanto: ");
printf("V \n");
num[i]='V';
i++;
x=x-5;
}
if(x>=4){
printf("el numero es mayor o igual a 4 por lo tanto: ");
printf("IV \n");
num[i]='I';
i++;
num[i]='V';
i++;
x=x-4;
}
if(x>=3){
printf("el numero es mayor o igual a 10 por lo tanto: ");
printf("III \n");
num[i]='I';
i++;
num[i]='I';
i++;
num[i]='I';
i++;
x=x-3;
}
if(x>=2){
printf("el numero es mayor o igual a 10 por lo tanto: ");
printf("II \n");
num[i]='I';
i++;
num[i]='I';
i++;
x=x-2;
}
if(x>=1){
printf("el numero es mayor o igual a 1 por lo tanto: ");
printf("I \n");
num[i]='I';
i++;
x=x-1;
}
}while(x>0);


printf("FINALMENTE EL NUMERO ES: \n\n\t");
for(i=0; i<20 ;i++){
if ( num[i] == '\0' )
break;
printf("%s",num);
}


}

No hay comentarios:

Publicar un comentario