Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: delirio en 21 Octubre 2011, 05:35 am



Título: Literal de numero---Ayuda!!!
Publicado por: delirio en 21 Octubre 2011, 05:35 am
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
  1. #include<iostream.h>
  2. #include<string.h>
  3.  
  4.  
  5. int UnaCifra(char A[], int i){
  6.  
  7.  
  8.    if(A[i]=='0')
  9.      cout<<"cero";
  10.  
  11.    if(A[i]=='1')
  12.      cout<<"uno";
  13.  
  14.    if(A[i]=='2')
  15.      cout<<"dos";
  16.  
  17.    if(A[i]=='3')
  18.      cout<<"tres";
  19.  
  20.    if(A[i]=='4')
  21.      cout<<"cuatro";
  22.  
  23.    if(A[i]=='5')
  24.      cout<<"cinco";
  25.  
  26.    if(A[i]=='6')
  27.      cout<<"seis";
  28.  
  29.    if(A[i]=='7')
  30.      cout<<"siete";
  31.  
  32.    if(A[i]=='8')
  33.      cout<<"ocho";
  34.  
  35.    if(A[i]=='9')
  36.      cout<<"nueve";  
  37.  
  38. }
  39.  
  40.  
  41. int main(){
  42.   char A[1];
  43.  
  44.    cout<<"\n\n  Ingrese numero: ";
  45.    gets(A);
  46.  
  47.  
  48.    cout<<"\n\n  ";
  49.    cout<<UnaCifra(A,0);
  50.  
  51.  
  52. system("pause>nul");    
  53. }    
  54.  
  55.  


Título: Re: Literal de numero---Ayuda!!!
Publicado por: do-while en 21 Octubre 2011, 05:53 am
ˇBuenas!

Código
  1.    cout << UnaCifra(A,0);
  2.  

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!


Título: Re: Literal de numero---Ayuda!!!
Publicado por: s00rk en 21 Octubre 2011, 06:59 am
Devera ser entonces el metodo de tipo void no int, si no deceas regresar un numero al final.