//Codificado por: sAfOrAs
//Convierte a números romanos
#include<iostream>
using namespace std;
int main()
{
int x;
cout<<"ingrese un numero"<<endl;
cin>>x;
if((x<1)||(x>999)) cout<<"INGRESA UN NUMERO DEL 1 AL 999\n";
else
{
if(x>=900) {cout<<"NOVECIENTOS " ;x=x-900;}
else if(x>=800) {cout<<"OCHOCIENTOS " ;x=x-800;}
else if(x>=700) {cout<<"SETECIENTOS " ;x=x-700;}
else if(x>=600) {cout<<"SEISCIENTOS " ;x=x-600;}
else if(x>=500) {cout<<"QUINIENTOS " ;x=x-500;}
else if(x>=400) {cout<<"CUATROCIENTOS " ;x=x-400;}
else if(x>=300) {cout<<"TRESCIENTOS " ;x=x-300;}
else if(x>=200) {cout<<"DOSCIENTOS " ;x=x-200;}
else if(x>100) {cout<<"CIENTO " ;x=x-100;}
else if(x==100) {cout<<"CIEN" ;x=x-100;}
if(x>90) {cout<<"NOVENTA Y " ;x=x-90; }
if(x==90) {cout<<"NOVENTA" ;x=x-90; }
if(x>80) {cout<<"OCHENTA Y " ;x=x-80; }
if(x==80) {cout<<"OCHENTA" ;x=x-80; }
if(x>70) {cout<<"SETENTA Y " ;x=x-70; }
if(x==70) {cout<<"SETENTA" ;x=x-70; }
if(x>60) {cout<<"SESENTA Y " ;x=x-60; }
if(x==60) {cout<<"SESENTA" ;x=x-60; }
if(x>50) {cout<<"CINCUENTA Y " ;x=x-50; }
if(x==50) {cout<<"CINCUENTA" ;x=x-50; }
if(x>40) {cout<<"CUARENTA Y " ;x=x-40; }
if(x==40) {cout<<"CUARENTA" ;x=x-40; }
if(x>30) {cout<<"TREINTA Y " ;x=x-30; }
if(x==30) {cout<<"TREINTA" ;x=x-30; }
if(x>20) {cout<<"VEINTI" ;x=x-20; }
if(x==20) {cout<<"VEINTE" ;x=x-20; }
if(x>=16) {cout<<"DIECI" ;x=x-10; }
else if(x==15) {cout<<"QUINCE" ;x=x-15; }
else if(x==14) {cout<<"CATORCE" ;x=x-14; }
else if(x==13) {cout<<"TRECE" ;x=x-13; }
else if(x==12) {cout<<"DOCE" ;x=x-12; }
else if(x==11) {cout<<"ONCE" ;x=x-11; }
else if(x==10) {cout<<"DIEZ" ;x=x-10; }
if(x==9) {cout<<"NUEVE" ;x=x-9; }
if(x==8) {cout<<"OCHO" ;x=x-8; }
if(x==7) {cout<<"SIETE" ;x=x-7; }
if(x==6) {cout<<"SEIS" ;x=x-6; }
else if(x==5) {cout<<"CINCO" ;x=x-5; }
else if(x==4) {cout<<"CUATRO" ;x=x-4; }
else if(x==3) {cout<<"TRES" ;x=x-3; }
else if(x==2) {cout<<"DOS" ;x=x-2; }
else if(x==1) {cout<<"UNO" ;x=x-1; }
}
cout<<endl;
cin.ignore();return 0;
}
Me gusta esto:
Me gusta Cargando...
Relacionado
me sale mal
una pregunta ya corriendo el programa esta bien pero me sale en los numeros copuestos como el 22 y esos numero en vez de decir veinidos sale veinti cinco en cualquier numero compuesto me sale es con cinco en vez del numero como otro ejemplo 44 deberia salir cuarenta y cuatro y sale cuarenta y cinco como se solucona eso me podrian ayudar
me salvaste de mi proyecto final, solo me faltaria que me imprima tambn dos decimales pero muchas gracias
alguno me pueda ayudar por favor… necesito un programa que me lea del un numero y lo escriba del 0 al 1,000,000 solo con #include
solo con #include stdio.h
Y SI NECESITO UN NUMERO CON DECIMAES PARA UNA NOMINA Q PUEDO HACER?
checalo brother x qe no te da el numero qe deces .-.
OYE DISCULPA PARA QUE FUNCIONA ESTA PARTE DEL PROGRAMA QUISIERA SABER?
;x=x-1;
muy buen programa
Saludos.
Gracias por la idea, no esta complicado en comparación con otros que manejan cadenas y punteros.
Excelente, muchas gracias
Hola muchas gracias por el codigo es verdad muy sencillo pero de una avanzada logica , gracias me sirvio de mucho y solo agregaria al final del programa un system(«PAUSE»); para poder visualizar el resultado y no se cierre instantaneamente la pantalla . gracias :D
Buen programa, se ve sencillo, pero tiene su cosa, es cuestión de meterle lógica. Gracias por compartirlo! (Y)
Tengo uno parecido la misma estructura, pero en pascal, pero para numeros romanos..
muchas gracias
Interesante código , me hace falta sudo para instalar gcc :)
hola que pena contigo muy bueno el codigo en verdad pero tengo una duda intento pasar esto en el diagrama de flujo pero la parte x=X-900y sucesivamente no se donde se coneta basicamente me puedes explicar cada ciclo hace porfa es que estoy en el primer semestre y en verdad no entiendo mcuho …gracias por su atencion
que tal, veamos, por decir ingreso un numero: 981
x=981-900 >> x=81
x=81-80 >> x=1
x=1-1 >> x=0
Al final imprimirá: NOVECIENTOS OCHENTA Y UNO
y como planteaste esto en el diagrama de flujo
que bien esta tu programa