<div dir="ltr">Hola Fanatidark,<div class="gmail_extra"><br>2013/4/21 fanatidark <span dir="ltr"><<a href="mailto:pandoras_box_789@hotmail.com" target="_blank">pandoras_box_789@hotmail.com</a>></span><br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">tengo el siguiente codigo:<br></blockquote><div><br></div><div style>[CORTE]</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        int busqueda(char *a,int b,char c)<br></blockquote><div><br></div><div style>Aquí está el error. No puedes implementar una función dentro de otra función. Sí, puedes escribir un prototipo, pero no definirla (implementarla), dentro de una función.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    {<br></blockquote><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                a=oracion;<br>
                b=0;<br>
                while((a<65)&&(*a!=c))<br></blockquote><div style><br>Esto es un error lógico. Estás comparando el puntero, 'a', a un entero. Lo más seguro es que querías usar 'b'; es decir,</div>
<div style><br></div><div style>b < 65</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                {<br>
                        b++;<br>
                        a++;<br>
                }<br>
<br></blockquote><div><br></div><div style>Nuevamente, DEBES retornar un entero, porque así lo indicas en la función.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

    }<br>
        cout<<"escribe una oracion"<<endl;<br>
        cin>>oracion;<br>
        cout<<"quieres buscar algun caracter?"<<endl;<br>
        cout<<"\n si=0 \n no=1"<<endl;<br>
        cin>>o;<br>
        while(o=0)<br></blockquote><div><br></div><div style>Esto es un error de programación. Te interesa usar el operador == que es de comparación (de igualación), y no el operador = que es de asignación.</div><div><br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
        {<br>
                cout<<"que caracter quieres buscar?"endl;<br>
                cin>>l;<br>
                busqueda (*p,n,l);<br></blockquote><div><br></div><div style>Aquí tienes otro error. Pasas un 'char' para el primer parámetro, cuando la función espera obtener un 'char *'. En este caso, simplemente pasa el puntero, 'p'; esto es,</div>
<div style><br></div><div style>int nPos = busqueda( p, n, l );</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                cout<<"\n su caracter es:  "<<l <<"y esta en la pocicion: "<<n<<endl;<br>
        }<br></blockquote><div><br></div><div style>Tienes un error de diseño en este bucle, ya que no hay forma de cambiar el valor de 'o'. Esto es porque no vuelves a preguntar al usuario si quieres continuar o no. En esencia, has creado un bucle infinito.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
return 0;<br>
<br>
}<br><br>
</blockquote></div><br></div><div class="gmail_extra" style><br>Espero que todo esto te oriente.</div><div class="gmail_extra"><br></div><div class="gmail_extra" style>Steven</div><div class="gmail_extra" style><br></div>
</div>