Print Friendly and PDF

C++/C++입문

[C++] Swich문과 열거체

나는야 개발자 2025. 3. 22. 16:39
반응형

swich문

- 값에 따라 실행문을 실행

- switch(변수) { case 값 : 실행문 }

 

선언

int number = 3;
cout << "숫자를 입력하세요 : ";
cin >> number;

switch(number)
{
	case 1:
		cout << "1입니다." << endl;
		break;
	case 2:
		cout << "2입니다." << endl;
		break;
	case 3:
	case 4:
		cout << "3 또는 4입니다." << endl;
		break;

	default:
		cout << "그 외의 숫자입니다." << endl;
		break;
}

- break : switch문을 빠져나가는 역할
- case 3, 4일 때 실행문을 실행하고 break를 만나면 switch문을 빠져나간다.
- default : case에 없는 값일 때 실행문을 실행

 

결과

 

 

열거체

- 연속된 숫자에 이름을 부여할 수 있는 기능
- 형태는 enum : 열거체를 선언할 때 사용하는 키워드
- 열거체명을 이용해 열거체 타이의 변수를 선언도 가능
- 열거체는 즉, 숫자에 이름을 부여하는 것이다.

 

선언

enum NUM
{
	//아무것도 부여하지 않은 경우 0부터 시작
	NUM_0,
	NUM_1,
	NUM_2,
	NUM_3,
	NUM_4,
	NUM_5,
	NUM_6,
	NUM_7,
	NUM_8,
	NUM_9,
	NUM_10
};

 

실습

switch (number)
{
case NUM_1:
	cout << "열거체: 1입니다." << endl;
	break;
case NUM_2:
	cout << "열거체: 2입니다." << endl;
	break;
case NUM_3:
case NUM_4:
	cout << "열거체: 3 또는 4입니다." << endl;
	break;
}

 

결과

 

열거형 변수 타입

//열거체 타입의 변수 선언
//열거체 타입의 변수는 무조건 4byte의 크기를 가진다.
NUM eNumber = NUM_1;
cout << "열거체 메모리 크기 : " << sizeof(eNumber) << endl;
cout << "열거형 타입도 알수 있음 : " << typeid(eNumber).name() << endl;

 

결과

 


 

*추가

#define NUM_11 11

을 이용해서

case NUM_11:
	cout << "열거체: 11입니다." << endl;
	break;

케이스 추가 가능

반응형

'C++ > C++입문' 카테고리의 다른 글

[C++] while을 이용한 가위바위보 게임 실습  (0) 2025.03.22
[C++] 반복문과 while문  (0) 2025.03.22
[C++] 난수  (0) 2025.03.22
[C++] if문  (0) 2025.03.22
[C++] 상수, 쉬프트 연산자  (0) 2025.03.21