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++:
#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");
}
¡Buenas!
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!
Devera ser entonces el metodo de tipo void no int, si no deceas regresar un numero al final.