getline () não funciona se usado após algumas entradas [duplicado]

Duplicata Possível:
Precisa de ajuda com getline ()

getline() não está funcionando, se eu usá-lo depois de algumas entradas, ou seja,

#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");
}

onde como se eu usassegetline() sobre as entradas, funciona, por exemplo

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

O que pode ser a razão?

questionAnswers(3)

yourAnswerToTheQuestion