반응형
다음의 예제를 보자
#include <stdio.h>
#include <conio.h> // for _getch()
#include <ctype.h> // for tolower();
int main()
{
char code = (char)_getch();
code = (char)tolower(code);
switch (code)
{
case 'a':
printf("A키를 누르셨군요\n");
break;
case 'b':
printf("B키를 누르셨군요\n");
break;
case 'c':
printf("C키를 누르셨군요\n");
break;
case 'd':
printf("D키를 누르셨군요\n");
break;
case '1':
printf("1키를 누르셨군요\n");
break;
case '2':
printf("2키를 누르셨군요\n");
break;
case '3':
printf("3키를 누르셨군요\n");
break;
case 0x0D:
printf("Enter키를 누르셨군요\n");
break;
case 0x1B:
printf("ESC키를 누르셨군요\n");
break;
default:
printf("그밖의 키...\n");
break;
}
return 0;
}
char code = (char)_getch();
키보드를 입력받아 ASCII코드 값을 받아 온다.
code = (char)tolower(code);
받은 아스키 코드가 알파벳 대문자이면 소문자로 변경한다.
switch(code) (코드가)
{
case 'a': ('a' 이면)
printf("A키를 누르셨군요\n"); (이런 메시지를 출력한다)
break; (break; 로 블럭을 벗어난다)
case 'b': ('b' 이면)
printf("B키를 누르셨군요\n"); (이런 메시지를 출력한다)
break; (break; 로 블럭을 벗어난다)
.....(생략)......
default: (모두 아니라면)
printf("그밖의 키...\n"); (이런 메시지를 출력한다)
break; (break; 로 블럭을 벗어난다)
}
※ 주의) break; 를 쓰지 않으면, 블럭을 벗어나지 않는다.
위 코드에서 break; 를 빼고, 키보드에서 c 키를 눌렀을 때 어떻게 출력하는지
왜 그런지 생각해보자. (또한 d 키를 눌렀을 때와 어떻게 다른지 확인해보자)
반응형
'C언어(2020년)' 카테고리의 다른 글
12. do while 문 (0) | 2020.11.02 |
---|---|
11. while 문 (0) | 2020.11.02 |
9. ASCII 코드 (0) | 2020.11.02 |
8. if else 문 (0) | 2020.11.02 |
7. if 문 (0) | 2020.11.02 |