Literal de numero---Ayuda!!!

Iniciado por delirio, 21 Octubre 2011, 05:35 AM

0 Miembros y 1 Visitante están viendo este tema.

delirio

Bueno amigos, les pido ayuda para encontrar donde esta el error en mi programa, lo que pasa es que cuando ingreso un numero del 0 al 9, el programa me bota correctamente en letras el numero ingresado, pero seguido tambien me imprime numeros basura.
Me podria alguien decir porque pasa esto, donde esta el error??....se les agradece de antemano cualquier ayuda. Ali va mi programa, compilado en Dev c++:


Código (cpp) [Seleccionar]
#include<iostream.h>
#include<string.h>


int UnaCifra(char A[], int i){
   
   
    if(A[i]=='0')
      cout<<"cero";
     
    if(A[i]=='1')
      cout<<"uno";
     
    if(A[i]=='2')
      cout<<"dos";
     
    if(A[i]=='3')
      cout<<"tres";
     
    if(A[i]=='4')
      cout<<"cuatro";
     
    if(A[i]=='5')
      cout<<"cinco";
     
    if(A[i]=='6')
      cout<<"seis";
     
    if(A[i]=='7')
      cout<<"siete";
     
    if(A[i]=='8')
      cout<<"ocho";
     
    if(A[i]=='9')
      cout<<"nueve"; 
   
}


int main(){
   char A[1];
 
    cout<<"\n\n  Ingrese numero: ";
    gets(A);
       
   
    cout<<"\n\n  ";
    cout<<UnaCifra(A,0);
   
   
system("pause>nul");   
}   


do-while

¡Buenas!

Código (cpp) [Seleccionar]

    cout << UnaCifra(A,0);


Y UnaCifra se supone que devuelve un entero, pero como en ningun momento devuelves un entero desde la funcion, cogera (supongo) el primer valor que encuentre en la pila, de ahi la basura.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

s00rk

Devera ser entonces el metodo de tipo void no int, si no deceas regresar un numero al final.