Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
DE DECIMAL A ROMANO 1-3999
Enviado por EVELYN el día 5 de enero de 2008
HOLA NECECITO QUE ALGUIEN ME AYUDE HACER UN PROGRAMA EN C QUE CONVIERTA DE DECIMAL A ROMANO EN TURBO C DEL 1 HASTA EL 3999 CON EL CICLO WHILE. ME URGE QUE ME AYUDEN. PORFAVOR ESPARA UN EXTRA
// program k1_17.CPP - page 16
// romanic numeration system, range : 0 < num < 4000
// c++ exercices book - dr. gershon kagan (first edition : 2001)
// written in Borland CPP ver 3.1
#include <conio.h>
#include <iostream.h>
int GetData()
{
int num;
cout << \"decimal number = \";
cin >> num;
return num;
} // GET DATA
void Process(int num)
{
cout << endl << \" roman number = \";
switch(num / 1000)
{
case 3 : cout << \"M\";
case 2 : cout << \"M\";
case 1 : cout << \"M\";
} // SWITCH
num %= 1000;
switch(num / 100)
{
case 3 : cout << \"C\";
case 2 : cout << \"C\";
case 1 : cout << \"C\";
break;
case 4 : cout << \"C\";
case 5 : cout << \"D\";
break;
case 6 : cout << \"DC\";
break;
case 7 : cout << \"DCC\";
break;
case 8 : cout << \"DCCC\";
break;
case 9 : cout << \"CM\";
} // SWITCH
num %= 100;
switch(num / 10)
{
case 3 : cout << \"X\";
case 2 : cout << \"X\";
case 1 : cout << \"X\";
break;
case 4 : cout << \"X\";
case 5 : cout << \"L\";
break;
case 6 : cout << \"LX\";
break;
case 7 : cout << \"LXX\";
break;
case 8 : cout << \"LXXX\";
break;
case 9 : cout << \"XC\";
} // SWITCH
num %= 10;
switch(num)
{
case 3 : cout << \"I\";
case 2 : cout << \"I\";
case 1 : cout << \"I\";
break;
case 4 : cout << \"I\";
case 5 : cout << \"V\";
break;
case 6 : cout << \"VI\";
break;
case 7 : cout << \"VII\";
break;
case 8 : cout << \"VIII\";
break;
case 9 : cout << \"IX\";
} // SWITCH
cout << endl << endl;
} // PROCESS
void main()
{
int decimal;
clrscr();
for(;;)
{
decimal = GetData();
if (!decimal)
break;
if ((decimal < 0) || (decimal > 3999))
cout << \"out of range\" << endl << endl;
else
Process(decimal);
}
cout << endl << \"end of program - good bye ! ! ! \" << endl;
getch();
} // MAIN