Buenas a todos.
Vuelvo a presentarme con una duda nueva del lenguaje C++. Esta vez con la introducción de datos por parte del usuario.
En algunos lugares leo que para introducir datos por parte del usuario en un char utiliza directamente cin, en otro usa cin.getline y no encuentro la diferencia.
¿Alguien podría explicarmelo?
Gracias!
con cin te coge hasta el primer espacio, con cin.getline ignora los espacios y coge todo lo que introduzcas hasta que pulses enter
Gracias por la respuesta! He probado y concin si que me coge todo lo introducido por el usuario. Por ejemplo:
int main(){
char nombre[50];
cout << "Escribe tu nombre: ";
cin >> nombre;
cout << nombre <<endl;
system("pause");
return 0;
}
Ahora le sumo un problema con los condicionales, con el siguiente codigo:
string deporte;
cout << "Indica tu deporte favorito: ";
cin.get();
getline(cin, deporte);
if (deporte == "futbol" || deporte = "baloncesto")
cout << "Te gustan los deportes de equipo" << endl;
else
cout << "Lo tuyo son los deportes individuales" << endl;
El caso es que así sí que se me ejecuta correctamente, pero si por el contrario elimino cin.get(), el programa pasa directamente al else sin dar opcion a que el usuario introduzca los datos.
¿Qué hago mal?
Gracias.
string deporte;
cout << "Indica tu deporte favorito: ";
cin >> deporte;
if (deporte == "futbol" || deporte = "baloncesto")
cout << "Te gustan los deportes de equipo" << endl;
else
cout << "Lo tuyo son los deportes individuales" << endl;
Asi deberia funcionarte