Visual C++ .NET - Ayuda en Microsoft Visual C++ 6.0

 
Vista:

Ayuda en Microsoft Visual C++ 6.0

Publicado por massimo (1 intervención) el 12/11/2011 07:25:29
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;
Desde aqui!
{
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 (las lineas empiezan "Desde aqui") ( sin contar lo de unidades, dec. centenas xq sino creo que seria imposible)... si pudieran ayudarme con la misma forma de ponerlo.. xq aveces veo programas con cosas que ni se y en ningun lugar algun if o else =/

De ante mano gracias :)!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de números a letras en un rango específico

Publicado por Alejandro (265 intervenciones) el 09/02/2024 23:00:05
¡Hola Massimo! Entiendo que estás buscando una solución dentro de las restricciones dadas por tu profesor. Intentaré ajustar tu código para que cumpla con esas restricciones. Aquí tienes una versión más corta del programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <string>
 
using namespace std;
 
string unidades[] = {"", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
string decenas[] = {"", "Diez", "Veinti", "Treinta", "Cuarenta", "Cincuenta", "Sesenta", "Setenta", "Ochenta", "Noventa"};
string centenas[] = {"", "Ciento", "Doscientos", "Trescientos", "Cuatrocientos", "Quinientos", "Seiscientos", "Setecientos", "Ochocientos", "Novecientos", "Mil"};
 
int main()
{
    int num;
    cout << "Convierte de numero a letra (0-1000): ";
    cin >> num;
 
    if (num >= 0 && num <= 1000)
    {
        int a = num / 100;
        int b = (num % 100) / 10;
        int c = num % 10;
 
        cout << centenas[a] << " " << decenas[b] << unidades[c] << "!\n";
    }
    else
    {
        cout << "Número fuera de rango.\n";
    }
 
    return 0;
}

Este programa usa un enfoque más compacto y estructurado, limitando las líneas de código dentro de las restricciones dadas. Espero que esto te sea de ayuda. ¡Buena suerte con tu tarea!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar