1. 목적

  - 대소문자를 변경할줄 안다.
  - 자료를 키보드에서 입력받을줄 안다.

2. 문제
  - 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 출력한다.
  - 문자의 속성을 변경하는 함수인 ctype.h 를 이용한다.
  - 출력 예

문자열을 입력하세요. : cakel.TisTory.com
입력받은 문자열 : cakel.TisTory.com
변 환 된 문자열 : CAKEL.tIStORY.COM
Press any key to continue

3. 이해
  - 대문자 소문자의 개념을 이해하고 바꿀수 있는가?
  - 문자를 입력받아 문자열로 저장할수 있는가?
  - ctype 에서 제공하는 함수를 이용할수 있는가?

4. 해결코드

#include <stdio.h>
#include <ctype.h>

int main()
{
 char inputchar[255],outputchar[255];
 int i = 0;
 

 printf("문자열을 입력하세요. : ");
 scanf("%s",inputchar);
 
 printf("입력받은 문자열 : ");
 printf("%s\n",inputchar);

 while(inputchar[i])
 {
  if(islower(inputchar[i])) outputchar[i] = toupper(inputchar[i]);
   else outputchar[i] = tolower(inputchar[i]);
   
  i++;
 }

 outputchar[i] = NULL;
 
 printf("변 환 된 문자열 : ");
 printf("%s\n",outputchar);

 return 0;
}

5. 코드해설
  - ctype.h 는 문자의 속성을 확인하고 대문자/소문자로 변경할수 있게 함수를 제공합니다.
  - while 문으로 입력받은 문자가 NULL 이 될때 까지 계속 반복하여 대문자/소문자 확인 및 변경을 합니다.
  - 마지막에 NULL 문자를 추가하여 문자열을 완성합니다.
  - scanf 문으로 해당 문자열을 입력받습니다.

6. 추가 정보
  - http://www.cplusplus.com/reference/clibrary/cctype/ : ctype.h
  - http://www.cplusplus.com/reference/clibrary/cstdio/scanf.html : scanf 함수 설명

Posted by 카켈