Holas:
Tengo un pequeño problemilla y es que dentro de un analisis de casos (switch) no se me ejecuta el primer cin.getline(). Ejemplo:
He probado quitando la parte de "Introduzca el nombre" para comprobar que no es un error sintáctico y lo que sucede es que no se ejecuta el cin.getline del correo, es decir, el primer cin.getline del "case" se omite. Lo mismo me sucede en "case 2: " etc.
Para corroborarlo he probado a poner antes del "Introduzca el nombre" un cin.getline(cadena_prueba, 30), y entonces si que se ejecuta correctamente el del nombre.
¿Alguno sabe por qué el primero siempre se omite?.
Gracias y saludos.
Tengo un pequeño problemilla y es que dentro de un analisis de casos (switch) no se me ejecuta el primer cin.getline(). Ejemplo:
Código (cpp) [Seleccionar]
switch (opcion)
{
case 1:
while (pEA->pSiguiente != 0)
{
pEA = pEA->pSiguiente;
}
pEA->pSiguiente = new agenda;
pEA = pEA->pSiguiente;
cout << "Introduzca el nombre: ";
cin.getline (nuevoNombre, tamNombre); //Este cin.getline() no se ejecuta
pEA->configurarNombre (&nuevoNombre[0]);
cout << endl;
cout << "Introduzca el correo: ";
cin.getline (nuevoCorreo, tamCorreo);
pEA->configurarCorreo (&nuevoCorreo[0]);
cout << endl;
...
He probado quitando la parte de "Introduzca el nombre" para comprobar que no es un error sintáctico y lo que sucede es que no se ejecuta el cin.getline del correo, es decir, el primer cin.getline del "case" se omite. Lo mismo me sucede en "case 2: " etc.
Para corroborarlo he probado a poner antes del "Introduzca el nombre" un cin.getline(cadena_prueba, 30), y entonces si que se ejecuta correctamente el del nombre.
¿Alguno sabe por qué el primero siempre se omite?.
Gracias y saludos.