티스토리 뷰





#include <iostream>
#include <cstdlib>
using namespace std;

char mf_toUpper(char str);

int main() 
{
	char input_str[255]={'\0'} ;		// 입력받는 문자열
	char temp='\0';						// 임시변수
	int consonant=0, vowel=0 ;			// 자음과 모음을 셀 변수
	
	cout << "==== 자음, 모음의 개수를 세는 프로그램 ====" << endl ;
	cout << "문자열을 입력하세요: " ;
	cin.getline(input_str,255);

	// 배열의 끝까지 반복
	for ( int i = 0 ; i < strlen(input_str) ; i++)
	{  
		// 문자를 임시변수(temp)에 넣어 처리
		temp=input_str[i];

		// 임시변수(temp)가 소문자일 경우 대문자로 바꿈
		temp = mf_toUpper(temp);
		
		// 문자(A-Z)가 아닐 경우 세지 않음
		if(temp < 'A'|| temp > 'Z') continue;    

		// 모음, 자음 갯수 세기
		// 모음일 경우 : 모음갯수 + 1 
		// 자음일 경우 : 자음갯수 + 1 
		if( temp=='A' || temp=='E' || temp=='I' || temp=='O' || temp=='U' ) 
			++vowel;
		else                                                 
			++consonant ;
	}

	// 결과 출력
	cout<<"자음의 갯수: "<< consonant <<"  모음의 갯수: "<< vowel << endl;
	
	return 0;
}

// 소문자를 대문자로 변경하는 함수
char mf_toUpper(char str)
{
	if('a' <= str && str <= 'z')
		return str = str - 32;

	return str;
}



 실행 결과  



댓글