Buenas noches, soy nuevo en la pagina y si rompo alguna reglea o algo x favor diganme..
mi problema es el siguiente, la verdad no se mucho de c++ pero por obra de la vida estoy a punto de terminar esta materia...
Necesito crear un programa en el que introduzca un numero... y este me imprima el nombre del numero.. es decir si yo pongo 6 , salga: seis!...
el programa va del 0 al 1000!
Y lo que llevo es esto...
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
string unidades[15], decenas[10], centenas[10];
int a, b, c;
char n[4];
void main ()
{
unidades[1]="uno \n";
unidades[2]="dos \n";
unidades[3]="tres \n";
unidades[4]="cuatro \n";
unidades[5]="cinco \n";
unidades[6]="seis \n";
unidades[7]="siete \n";
unidades[8]="ocho \n";
unidades[9]="nueve \n";
unidades[10]="Diez";
unidades[11]="Once";
unidades[12]="Doce";
unidades[13]="Trece";
unidades[14]="Catorce";
unidades[15]="Quince";
decenas[1]="Diez";
decenas[2]="Veinte ";
decenas[3]="treinta";
decenas[4]="cuarenta";
decenas[5]="cincuenta";
decenas[6]="sesenta";
decenas[7]="setenta";
decenas[8]="ochenta";
decenas[9]="noventa";
centenas[1]="ciento";
centenas[2]="Docientos";
centenas[3]="Trecientos";
centenas[4]="Cuatrocientos";
centenas[5]="Quinientos";
centenas[6]="Seicientos";
centenas[7]="Setecientos";
centenas[8]="Ochocientos";
centenas[9]="Novecientos";
centenas[10]="Mil";
a = n[0];
b = n[1];
c = n[2];
printf("Convierte de numero a letra :");
cin>>n;
{
cout<<centenas[a]<<" "<<decenas<<"y"<<unidades[c];
if (b==1)
{ cout<<centenas[a]<<"Dieci"<<unidades[c];
}
else
{
if (b==2)
{cout<<centenas[a]<<"Veinti"<<unidades[c]; }
}
}
}
pero el programa no me corre, no imprime ningun valor solo la "y"...
que necesito para que sirva?..
pd.. el profe es de esos que no enseña pero exige.. y nos dijo que el programa no debe pasar de 4 lineas ( sin contar lo de unidades, dec. centenas xq sino creo que seria imposible,
De ante mano gracias :)!
Cita de: massimo en 12 Noviembre 2011, 07:07 AM
pd.. el profe es de esos que no enseña pero exige.. y nos dijo que el programa no debe pasar de 4 lineas ( sin contar lo de unidades, dec. centenas xq sino creo que seria imposible,
que loco tu profesor...
Temibles Lunas!¡.
no le entiendo mucho :huh: mas bien nada D:
pero no quiero un nuevo programa, solo que me digan que le falta al que puse para que funcione :-\
Mira te paso uno pero esta en vb6... te traduce cualquier numero a su nombre desde el 1 al 999999999999999999999999999999999999999999999999999999999999999999
en su variacion de nombre corto.
Citar
novecientos noventa y nueve mil novecientos noventa y nueve decillones novecientos noventa y nueve mil novecientos noventa y nueve nonillones novecientos noventa y nueve mil novecientos noventa y nueve octillónes novecientos noventa y nueve mil novecientos noventa y nueve septillones novecientos noventa y nueve mil novecientos noventa y nueve sextillónes novecientos noventa y nueve mil novecientos noventa y nueve quintillónes novecientos noventa y nueve mil novecientos noventa y nueve cuatrillónes novecientos noventa y nueve mil novecientos noventa y nueve trillones novecientos noventa y nueve mil novecientos noventa y nueve billones novecientos noventa y nueve mil novecientos noventa y nueve millones novecientos noventa y nueve mil novecientos noventa y nueve
No te lo tradusco a C/C++ eso sera cosa tuya si quieres, te lo pongo debido a que te lo piden en 4 lineas... Nadie hace esto en 4 lineas ... ve mi codigo y revisa en que fallas ya que son similares (Dividelo en Procesos/Funciones).
Numeros a Letras (http://infrangelux.hostei.com/index.php?option=com_content&view=article&id=8:arrtnum2string&catid=2:catprocmanager&Itemid=3) o aqui en el sub-foro respectivo (http://foro.elhacker.net/programacion_visual_basic/src_numbertoname_correcion_al_codigo_anterior-t344550.0.html)
Nota: Cuando pueda lo tradusco a C/C++ mientrastanto te servira como guia (Mas que nada como guia del proceso... recuerda que vb6 es distinto de C/C++).
Dulces Lunas!¡.
En mi opinión se esta asumiendo que el enunciado pide mas de lo esperado.
Porque si solo se trata de practicar con los operadores de división y modulo serian suficientes las cuatro lineas para extraer los dígitos de los millares, centenas, decenas y unidades.
Un saludo