[ Foro de C++ ]
Cordial saludo profesor Nacho:
Profesor es que tengo un programa que hice y que me ejecuta perfectamente,sin embargo me esta funcionando solo introduciendo el primer nombre de un candidato( es decir capturo el nombre del candidato de la forma:
cout<<"nombre del candidato "<<i+1<<": ";
cin>>nomcandidatos[i];)
bien, en otros programas he utilizado y me ha funcionado sin embargo en es que te adjunto no:
cin.ignore();
getline(cin,empleados[i]);
de esta forma me toma perfectamente nombres completos ( de mas de una palabra) intento hacerlo en el programa que te indico pero no me funciona ,quisiera me ayudaras a ver cual es el problema y que me ejecute correctamente, agradeciendo de antemano tu generosa ayuda.
te adjunto el programa para que lo puedas ejecutar y te des cuenta del error quiza mas facilmente y me ayudes a que me ejecute correctamente.
Dos pautas para aislar el problema:
- Prueba con un fuente que sea lo más sencillo posible y que falle. Si el fuente es muy grande, el fallo puede estar en cualquier sitio que no sea el que tú creas.
- Si el fuente ya es grande y te cuesta reducirlo a algo simple, al menos añade algún "cout" que te ayude a detectar el problema, viendo si los valores de las variables son en cada paso los que deben. Por ejemplo:
getline(cin,empleados[i]);
cout << "Contador:" << i << "\n";
cout << "Valor:" << empleados[i] << "\n";
Sería mejor usar el depurador que incluye tu entorno de programación, pero usar "cout" te puede ayudar a descubrir fallos si tu entorno no incluye depurador o si el problema es muy simple.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)