1. 목적
- 대소문자를 변경할줄 안다.
- 자료를 키보드에서 입력받을줄 안다.
2. 문제
- 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 출력한다.
- 문자의 속성을 변경하는 함수인 ctype.h 를 이용한다.
- 출력 예
입력받은 문자열 : cakel.TisTory.com
변 환 된 문자열 : CAKEL.tIStORY.COM
Press any key to continue
3. 이해
- 대문자 소문자의 개념을 이해하고 바꿀수 있는가?
- 문자를 입력받아 문자열로 저장할수 있는가?
- ctype 에서 제공하는 함수를 이용할수 있는가?
4. 해결코드
#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 함수 설명