소프트웨어/C++

[2004년 기말 8번] 문자열 입력후 속성 출력 - 문자 속성

카켈 2007. 2. 28. 07:09



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

문제
코드

#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 는 숫자인지 아닌지 알아내는 함수 입니다.

참고
  - 유사 문제