목표
  - 문자의 속성을 알고 비교 한다.

문제
사용자 삽입 이미지
코드

#include <iostream>
#include <ctype.h>

using namespace std;

int main(void)
{
 char sIn[255] = {0};
 int iCount, iUpper, iLower, iSpace, iEtc, iNumber;
 iCount = iUpper = iLower = iSpace = iEtc = iNumber = 0;

 cout << "문자열을 입력하세요 : ";
 cin.getline(sIn,255,'\n');

 while(sIn[iCount] != 0)
 {
  if(isupper(sIn[iCount]))
   iUpper++;
 
  else
  {
   if(islower(sIn[iCount]))
    iLower++;
   else
   {
    if(isspace(sIn[iCount]))
     iSpace++;
    else
    {
     if(isdigit(sIn[iCount]))
      iNumber++;
     else
      iEtc++;

    }
     
   }
  }

  iCount++;

 }

 cout << "대문자 개수 : " << iUpper << endl;
 cout << "소문자 개수 : " << iLower << endl;
 cout << "숫자의 개수 : " << iNumber << endl;
 cout << "공백의 개수 : " << iSpace << endl;
 cout << "기타문자 수 : " << iEtc << endl;
 cout << "총문자의 수 : " << iCount << endl;


 return 0;
}


해설
  - isdigit 는 숫자인지 아닌지 알아내는 함수 입니다.

참고
  - 유사 문제

Posted by 카켈