int main()
{
char ch[50];
char word;
int v_count=0; // vowel,모음 세기
int c_count=0; // consonant, 자음 세기 
int etc=0; //기타 단어


cout<<"단어들을 입력하시오 (끝내려면 q): \n";
cin>>ch;

while(strcmp(ch,"q")) // ch != "q"
{
if(isalpha(ch[0]))
{
if( tolower(ch[0]) == 'a' || tolower(ch[0]) == 'i' || tolower(ch[0]) =='o' || tolower(ch[0]) =='u' || tolower(ch[0]) == 'e')
v_count++;
else
c_count++;
}
else
etc++;
cin>>ch;
}
cout<<"자음 시작단어 : "<<c_count<<endl;
cout<<"모음 시작단어 : "<<v_count<<endl;
cout<<"그 외 단어 :"<<etc<<endl;

return 0;
}
----
외따로 떨어진 q가 입력될 떄까지 '한번에' 한 단어씩 입력을 읽는 문제입니다. 이 소스는 모음으로 시작되는단어, 자음으로 시작되는 단어. 두 범주의 어디에도 속하지 않는 것들의 수를 보고해야하는 문제입니다.
입력예시로 
The 12 awesome oxen ambled quiletly across 15 meters of lawn. q
이면
모음 시작단어 : 5
자음 시작단어 : 4
기타 : 2
이렇게 입니다.

근데 제가 궁금 한것은 입력을 저렇게 그대로 문장으로 했다고 쳤을때 마지막에 cin>>ch에서 q를 읽게 되는데
저대로 입력을하면 종료가 되지않고 계속 입력을 요구하더라구요
문장을치고 엔터를 누르고 다시 q를 눌러야 종료가 됩니다.

저는 cin이 화이트스페이스를 기준으로 읽는다는 것을 생각해서 처음에 The를 읽고 그다음이 스페이스바이니 
다음단어인 12 그다음 단어인 awesome 이렇게 가다가 마지막에는 결국 q한단어만 나오는데 왜 종료를 안시키나요?


++추가질문으로 빨간색부분의 주석부분이 제가 수정하기 이전의 소스인데 저렇게 하니 안되더라구요.
저부분은 ch와 "q"의 주소를 비교하는건가요?