Título: Porque me sale error al querer imprimir el contenido de la pila Publicado por: andresjr22 en 31 Julio 2016, 19:51 pm El programa tiene que permitir el ingreso de nombre de libros, una vez ingresado se mostrara un mensaje si quiere seguir ingresando si la respuesta es n el programa ordena los libros en orden alfabetico y luego los muestra por pantalla.... Compila pero no ejecuta correctamente , help me please!!!
Código
Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: AlbertoBSD en 31 Julio 2016, 21:02 pm Que error da?
para empezar res char y no string, por lo cual el scanf deberia de ser %c o en su defecto usar la funcion getchar Código Que error te da. No tengo mi laptop aqui para probar tu programa. Saludos Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: andresjr22 en 31 Julio 2016, 21:25 pm El compilador (Dev C++) no me da la oportunidad de ingresar el dato por pantalla cuando uso %c por eso le pongo %s
Ejecucion con %c sin opcion a ingresar la confirmacion a "Desea seguir ingresando" (http://imageshack.com/a/img924/108/Q2Lru9.png) Ejecucion con %s (http://imageshack.com/a/img922/3582/OSaz2f.png) Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: AlbertoBSD en 31 Julio 2016, 21:59 pm Es que el scanf no esta obteniendo el retorno de carro por eso no tw funciona.
La otra es que red solo puede guardar un caracter usar getchar(); Código La otra es que tambiene estas haciendo sin darte cuenta un buffer overflow. Te dejo este video mG8_nY3Yzg4 Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: andresjr22 en 31 Julio 2016, 22:57 pm Gracias por el video me ayudo a entender muchas cosas, pero sigo sin entender..
Modifique la funcion main un punto ahora esta asi Código
la ejecucion del programa (https://imageshack.com/i/ply50sygp) le puse esos printf para ver hasta que linea de codigo existe el dato en la pila, tal parece despues de la verificacion esta el problema, y no sobrepaso el buffer ya que solo le estoy ingresando un dato a la varibale res.... Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: AlbertoBSD en 1 Agosto 2016, 00:14 am tus tipos de datos pnodo y pila son apuntadores a la misma estructura.
En la primera vuelta p vale NULL y lo inicializas en la funcion pila. Pero en el siguiente ciclo estas usando el mismo p y en ningun momento lo guardas en otra variable. En teoria no tendras forma de acceder a los datos previamente guardados. Ya que el P local de Main se esta sobre escribiendo en cada ciclo Título: Re: Porque me sale error al querer imprimir el contenido de la pila Publicado por: andresjr22 en 1 Agosto 2016, 01:06 am Ya solucione el problema no era eso que me decias, el problema estaba en que la varibel resp estaba declarada como un vector de tamaño 1
Código
y por una extraña razon cuando ponia 1 me dañaba el contenido de la pila lo que hice fue cambiarle el tamaño a esa variable y se soluciono todo, parece extraño pero gracias por la ayuda prestada ... Código
(https://imageshack.com/i/pooITsjZp) |