comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

DUDA C++ Cin / cin.get() / cin.getline()

  • 4 Respuestas
  • 1283 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado r4gnath0r

  • *
  • Underc0der
  • Mensajes: 82
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Noviembre 22, 2016, 06:04:30 pm »
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!
« Última modificación: Noviembre 22, 2016, 07:09:28 pm por Gabriela »

Desconectado sadfud

  • *
  • Moderador
  • Mensajes: 181
  • Actividad:
    0%
  • Reputación 9
    • Ver Perfil
    • Blog
  • Skype: SadFud
« Respuesta #1 en: Noviembre 22, 2016, 07:40:38 pm »
con cin te coge hasta el primer espacio, con cin.getline ignora los espacios y coge todo lo que introduzcas hasta que pulses enter
Mi blog: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Si necesitas ayuda, no dudes en mandar MP

Desconectado r4gnath0r

  • *
  • Underc0der
  • Mensajes: 82
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Noviembre 22, 2016, 07:48:18 pm »
Gracias por la respuesta! He probado y concin si que me coge todo lo introducido por el usuario. Por ejemplo:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
int main(){
char nombre[50];
cout << "Escribe tu nombre: ";
cin >> nombre;

cout << nombre <<endl;
system("pause");
return 0;
}



Desconectado r4gnath0r

  • *
  • Underc0der
  • Mensajes: 82
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #3 en: Noviembre 23, 2016, 01:53:11 pm »
Ahora le sumo un problema con los condicionales, con el siguiente codigo:

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
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.

Desconectado sadfud

  • *
  • Moderador
  • Mensajes: 181
  • Actividad:
    0%
  • Reputación 9
    • Ver Perfil
    • Blog
  • Skype: SadFud
« Respuesta #4 en: Noviembre 23, 2016, 03:05:34 pm »
Código: C++
  1. string deporte;
  2. cout << "Indica tu deporte favorito: ";
  3. cin >> deporte;
  4.  
  5. if (deporte == "futbol" || deporte = "baloncesto")
  6.     cout << "Te gustan los deportes de equipo" << endl;
  7. else
  8.     cout << "Lo tuyo son los deportes individuales" << endl;
Asi deberia funcionarte
Mi blog: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Si necesitas ayuda, no dudes en mandar MP

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] Duda con " "

Iniciado por Krisium

Respuestas: 1
Vistas: 1691
Último mensaje Junio 10, 2010, 10:50:35 am
por Xa0s
[SOLUCIONADO] [Taller PHP] Duda taller php 1 ejercicio 2

Iniciado por arthusu

Respuestas: 3
Vistas: 1859
Último mensaje Julio 18, 2011, 02:20:03 am
por arthusu
[SOLUCIONADO] [Taller PHP] Duda taller php 1 ejercicio 2

Iniciado por Only

Respuestas: 2
Vistas: 1461
Último mensaje Agosto 01, 2011, 04:28:03 pm
por Only
[SOLUCIONADO] Duda con Windows 7 de 32 bits & 64 bits

Iniciado por andrestoushit

Respuestas: 2
Vistas: 870
Último mensaje Marzo 15, 2016, 04:01:16 pm
por Lah-Vahn
[SOLUCIONADO] [Taller PHP] Duda taller php 2 ejercicio 3

Iniciado por arthusu

Respuestas: 4
Vistas: 2127
Último mensaje Agosto 05, 2011, 02:00:42 am
por arthusu