Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/05/2012, 15:55
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: Problema manejo de String C++

Código C++:
Ver original
  1. for (i=0;i<n;i++)
  2.     {
  3.     cout<<"\nIngrese código de la máquina: ";
  4.     cin>>cCod[i];
  5.         while(getchar() != '\n' ) ;
  6.     cout<<"\nIngrese la denominación de la máquina: ";
  7.     cin.getline(sDenominacion[i], 30);
  8.     cout<<"\nIngrese las horas que estuvo parada la máquina: ";
  9.     cin>>iHrs[i];
  10.     }

La clave esta en usar esto:
while(getchar() != '\n' ) ;

Eso hace que limpies el buffer antes de leer. El problema que tenes es que para leer el codigo presionas enter. Al precionar enter este deja un \n en el buffer. Pero no es consumido cuando lees el codigo . Asi que el getline lo encuentra
y da la sensacion de saltearlo