일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C언어
- 게임수학
- Input Assembler
- 프로그래밍
- DirectX
- 다중표본화
- 다이렉트X 튜토리얼
- swapchain
- 다이렉트X
- DirectX12
- DESC
- 동기화
- C++
- View
- 다이렉트 초기화
- Direct3D
- Direct Init
- GPU
- CommandList
- c
- 전처리문
- UE4
- Direct3D Init
- engine
- vertex
- 코딩
- RenderTargetView
- 세팅
- DirectXTK
- CPU
- Today
- Total
비타Cpp
조건문 switch 본문
가위 바위 보로 if문을 간단하게 사용 해봤습니다.
그런데 저희는 가위 바위 보를 정수값 1,2,3을 이용 해서 비교 연산(==, !=)을 통해 승패를 결정지었습니다.
이처럼 정수 값의 비교연산을 통해 조건분기를 나누는 조건문이 하나 더있습니다.
switch라는 조건문 입니다.
사용방법은 이렇습니다.
int number = 0;
switch (number)
{
case 0 :
//실행코드
break;
case 1:
//실행코드
break;
case 2:
//실행코드
break;
case 3:
//실행코드
break;
case 4:
//실행코드
break;
default:
//실행코드
break;
}
switch문의 가장 첫 괄호 안에 들어오는 수에 따라 case별로 분기를 나눠서 실행코드른 나눠 놓을수 있습니다.
위 코드에서는 number가 0 이므로 바로 case 0 :의 실행코드가 실행되는 것입니다.
주의 하셔야 할게 만약 break; 가 없다면 switch문은 찾는 정수값의 case를 찾으면 그부분의 실행 부분부터 전 부 실행 시킵니다.
number가 3인데 break가 없다면 3,4,default 까지 전부 실행됩니다.
그리고 switch는 단순 정수값만 넣어 비교 연산 하기 때문에 괄호 안에는 정수가 들어가야 합니다. 하지만 그러면 이 정수값이 의미하는 바를 다른 사람이 보기에는 이해 하기 힘들죠. 그래서 switch를 사용 할때 아주 유용하게 쓰이는 문법이 하나있습니다.
좀더 직관적으로 정수값이 의미하는 바를 이름에 표시 하게하는 문법이 enum문 입니다.
가위바위보 로 보면 1,2,3 을 영어로 표시할 수 있게 됩니다.
Scissor, Rock, Paper 이런식으로요.
enum HAND_SHAPE
{
SCISSOR,
ROCK,
PAPER
};
enum class Hand_Shape
{
SCISSOR,
ROCK,
PAPER
};
enum 문은 두가지 방법 으로 사용 됩니다.
일반 enum문과 enum class 문인데 이 두개의 차이점은 접근 방식에 있습니다.
이는 다음 가위바위보를 switch를 이용 해서 만들어 볼때 보여드리겠습니다.
'C,C++' 카테고리의 다른 글
R-value와 L-value (0) | 2020.05.17 |
---|---|
const 위치에 따른 의미들 (0) | 2020.05.16 |
조건문 if, if ~ else if ~ else 가위 바위 보 게임 (0) | 2020.04.21 |
조건문 if, if ~ else if ~ else (0) | 2019.12.02 |
C의 기본타입들..(2) (0) | 2019.11.26 |