#include <iostream>

using namespace std;


int main()

{

char ch[50];

char word;

int v_count=0; // vowel,모음 세기

int c_count=0; // consonant, 자음 세기 

int etc=0; //기타 단어



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

cin>>ch;


while(ch != "q")

{


if(isalpha(ch[0]) && tolower(ch[0]))

{

if( ch[0] == 'a' || ch[0] == 'i' || ch[0] =='o' || ch[0] =='u' || ch[0] == 'e')

v_count++;

else

c_count++;

}

else

etc++;

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

cin>>ch;

}

cout<<"자음 시작단어 : "<<c_count<<endl;

cout<<"모음 시작단어 : "<<v_count<<endl;

cout<<"그 외 단어 :"<<etc<<endl;


return 0;

}



--------------
어제도 올렸었는데 늦어서 걍 잤거등여 지금 마저푸는데 잘 안되네...
어떤 문제냐면 외따로 떨어진 q가 입력될떄까지 '한번에' 한단어씩 입력을 읽는 프로그램임. 입력된 단어 중 모음으로 시작하는단어, 자음으로 시작하는단어,
그외 어디에도 속하지않는 단어의 수를보고하는 문제에영.
입력 예시
The 12 awesome oxen ambled quietly across 15 meters of lawn.q 

모임 시작단어 : 5
자음 시작 단어 :4
기타 : 2

이런식으로..근데 지금 난 뭔가 막혔는데..실행해보니 q를 입력해도 while루프를 탈출하지않고 계속 입력을 받음..
왜이런지는 몰겠고 또 빨간색 부분에 대해 설명하자면 영어단어인것과 아닌걸 구분해야하니까 isalpha() 함수를 썼고 또 그중에
모음 자음 구분을 하기 전에 대문자를 소문자로 바꿔주는 작업을 하기위해 tolower()함수를 썼어여 이 두개를 만족하면 다음 if문으로 넘어가서
첫 문자가 모음인지 검사하는 그런부분인데..저게 잘못된건지 어디가 잘못된건지 자꾸 입력을 받는데 어떤게 잘못된거 같아여?

q를 입력해도 탈출하지 못하고 계쏙 입력 받는거보면 조건 검사식에서 잘못됐다는거같은데

저렇게 배열안에 단어를 입력받고 검사를하면 주소로 검사를 하는거에요?