Título: El programa dejó de funcionar al dar una respuesta? (RESUELTO) Publicado por: mcamara46 en 27 Diciembre 2013, 22:06 pm Hola, este es mi primer post en este foro. Me dirijo a vosotros porque tengo un problema en un codigo muy sencillo de c++.
Código: #include <iostream> El problema real que tengo esque al darle una respuesta deja de funcionar. Quisiera saber cual es el problema, porque si quito los char* y lo substituyo por char y solo doy una sola letra si me admite el código y el programa funciona perfecto. Intuyo que el problema esta al comparar o en la misma seqüencia de caracteres char*. Porfavor si alguien puede poner el resultado e indicarme cual ha sido mi error estaria muy agradecido. Gracias de antemano :D Título: Re: El programa dejó de funcionar al dar una respuesta? Publicado por: ivancea96 en 27 Diciembre 2013, 22:12 pm Bueno, en primer lugar:
Código
Eso nunca será verdadero. Ahí estás comparando las DIRECCIONES de memoria que guardan las variables (punteros). Las direcciones nunca serán iguales. En segundo lugar: la variable 'a' es un puntero a una dirección. ¿Qué dirección? Ninguna, ya que no está inicializada. En cada inicialización del programa, 'a' puede tener un valor distinto. Por tanto, lo que dbees hacer es inicializarla. No soy experto en C, soy más de C++, pero si no me equivoco, sería así: Código
Bueno, creo que así debería ir. EDITO: Perdona, pensaba que era C. Ahora vi el include iostream jeje En C++, para guardar memoria, haz así: Código
Título: Re: El programa dejó de funcionar al dar una respuesta? Publicado por: mcamara46 en 27 Diciembre 2013, 22:25 pm Bueno, en primer lugar: Código
Eso nunca será verdadero. Ahí estás comparando las DIRECCIONES de memoria que guardan las variables (punteros). Las direcciones nunca serán iguales. En segundo lugar: la variable 'a' es un puntero a una dirección. ¿Qué dirección? Ninguna, ya que no está inicializada. En cada inicialización del programa, 'a' puede tener un valor distinto. Por tanto, lo que dbees hacer es inicializarla. No soy experto en C, soy más de C++, pero si no me equivoco, sería así: Código
Bueno, creo que así debería ir. EDITO: Perdona, pensaba que era C. Ahora vi el include iostream jeje En C++, para guardar memoria, haz así: Código
Muchas gracias, ahora ya no se cierra, pero si miras el código, lo que pretendo hacer es que se comparen dos frases, y que si son iguales le vaya a preguntar otra cosa, sino salte otra frase. Ahora el problema que tengo esque salta el else ponga lo que ponga. Código: using namespace std; Título: Re: El programa dejó de funcionar al dar una respuesta? Publicado por: ivancea96 en 27 Diciembre 2013, 22:29 pm Bueno, en primer lugar: Código
Eso nunca será verdadero. Ahí estás comparando las DIRECCIONES de memoria que guardan las variables (punteros). Las direcciones nunca serán iguales. Como dije antes xD así solo comparas las direcciones. Tú debes comparar letra a letra (con un for, por ejemplo) cada una, y ver si son iguales. También puedes usar la librería string, pero eso ya como veas. Título: Re: El programa dejó de funcionar al dar una respuesta? (RESUELTO) Publicado por: mcamara46 en 27 Diciembre 2013, 22:35 pm Gracias, mirare como usar la libreria :D
Título: Re: El programa dejó de funcionar al dar una respuesta? (RESUELTO) Publicado por: leosansan en 27 Diciembre 2013, 23:50 pm Gracias, mirare como usar la libreria :D Otra forma es usar el tipo string que permite cosas como: Código
Código
;-) ;-) Felices Navidades y Próspero Año Nuevo. ;-) ;-) ¡¡¡¡ Saluditos! ..... !!!! (http://st.forocoches.com/foro/images/smilies/aaaaa.gif) |