소프트웨어/C++

[2004년 중간 4번] 문자열 변환 - ASCII 코드

카켈 2007. 2. 26. 16:34




목적
  - ctype.h 를 쓰지 않고 문자의 속성을 구분하고 변경할줄 안다.
  - ASCII 코드표를 이해한다.

문제

코드

#include <iostream>

using namespace std;

int main(void)

{
 char sIn[255] = {0};
 char sOut[255] = {0};
 int i, j;
 i = j = 0;

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

 while(sIn[i] != 0)
 {
  if(sIn[i] >= 65 && sIn[i] <= 90)
  {
   sOut[j] = sIn[i] + 32;
   j++;
  }

  else
  {

   if(sIn[i] >= 97 && sIn[i] <=122)
   {
    sOut[j] = sIn[i] - 32;
    j++;
   }

   else
   {
    sOut[j] = sIn[i];
    j++;
   }

  }

  i++;
 }


 cout << "변환된 문자열 : " << sOut << endl;
 i = j = 0;

 cout << "공백문자 제거 : ";

 while(sOut[i] != 0)
 {
  if(sOut[i] == ' ');
  else
   cout << sOut[i];

  i++;
 }

 cout << endl;

 return 0;
}


해설
  - ASCII 코드를 이해한다면 ctype.h 의 tolower() 나 toupper() isspace() 함수를 간단하게 구현할수 있습니다.

참고
  -유사문제