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
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.