Gracias, mirare como usar la libreria
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: ivancea96 en 27 Diciembre 2013, 22:12 PM
Bueno, en primer lugar:if(a == b)
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í:char* a = malloc(sizeOf(char)*N); //N es el número de casillas que tendrá. Pon 100 por ejemplo, para asegurarte que no haya problemas
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í:char* a = new char[N]; /+/Donde N es el numero de celdas, caracteres en este caso.
using namespace std;
int main()
{
char* a = new char[100];
char* b = "Hola soy Maestro";
cout << "Bienvenido, soy programa1, usted quien es?" << endl;
cin >> a;//almaceno la respuesta del usuario
if(a == b)
{
cout << "Hola maestro" << endl;
}
else
{
cout << "Tu no quieres nada." << endl;
}
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
char* a;
char* b = "Hola soy Maestro";
cout << "Bienvenido, soy programa1, usted quien es?" << endl;
cin >> a;//almaceno la respuesta del usuario
if(a == b)
{
cout << "Hola maestro" << endl;
}
else
{
cout << "Tu no quieres nada." << endl;
}
system("pause");
return 0;
}