getline () no funciona si se usa después de algunas entradas [duplicar]

Posible duplicado:
Necesito ayuda con getline ()

getline() no funciona, si lo uso después de algunas entradas, es decir,

#include<iostream>
using namespace std;

main()
{
string date,time;
char journal[23];


cout<<"Date:\t";
cin>>date;
cout<<"Time:\t";
cin>>time;

cout<<"Journal Entry:\t";
cin.getline(journal,23);


cout<<endl;
system("pause");
}

donde como si yo usogetline() En la parte superior de las entradas, funciona, es decir,

cout<<"Journal Entry:\t";
cin.getline(journal,23);
cout<<"Date:\t";
cin>>date;
cout<<"Time:\t";
cin>>time;

¿Cuál podría ser la razón?

Respuestas a la pregunta(3)

Su respuesta a la pregunta