[C con Clase] por que no funciona bien mi pregrama?

Davidson, Steven srd4121 en njit.edu
Vie Abr 19 07:49:43 CEST 2013


Hola Fanatidark,

On Fri, Apr 19, 2013 at 1:12 AM, fanatidark <pandoras_box_789 en hotmail.com>wrote:

> ya corregi lo que mencionaste queda asi no???
>
>
[CORTE]


> y no es lo mismo usar variables globales a locales???
>

No. Controlamos mejor las variables locales que las globales. Cualquier
función puede controlar una variable global. Esto puede perjudicar la
lógica del programa, ya que el valor de la variable global se pondrá en
peligro. Este tipo de errores es MUY difícil de detectar. Lo prudente es no
usar variables globales; y más aún, si estás aprendiendo a programar.

y sigue sin funcionar por q??? alguna idea???
> cuando ejecuto el programa me aparece siempre q letra escribi y q esta en
> la pocicion y ya eso es todo no me dice ni la pocicion y si no esta ese
> caracter tambien me dice lo mismo en vez de decirme q no esta porq???
>

El problema está en que la función 'busqueda()' no retorna ningún valor.
Escribes:

int busqueda(int a, char *b,char c)
{
        while((a<65)&&(*b!=c))
        {a++;
        b++;
        }
}

Necesitas una sentencia 'return' y un valor a retornar, porque indicaste
que esta función va a retornar un 'int'.

Además, veo que hay otro error al invocar esta función en 'main()'.
Escribes:

busqueda (n,p,l);

Esto es correcto, pero no haces nada con el valor retornado. Deberías
guardar el valor retornado o usarlo directamente. Por ejemplo,

n = busqueda( n, p, l );

o incluso,

if( busqueda( n, p, l ) > 65 )
...


Espero que esto te sirva.

Steven
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130419/1c9038e1/attachment.html>


Más información sobre la lista de distribución Cconclase