본문 바로가기
Programming/C++

제어문 - switch문

by ahhang0k 2021. 4. 6.

여러조건을 한꺼번에, switch문

- 같은 변수에 대해 여러 조건을 제어 해야 할 떄 유용한 분기문이다.

- 메뉴얼을 필요할 떄 사용한다.

- 값을 찾 해당 case문을 실행 

- break(빠져나가라)를 만나지 않으면 아래 case문으로 계속 내려간다. (break문은 선택)

- 결과값이 숫자, 문자(문자도 숫자로 표현가능해서 문자도 됨)로 표현가능한 딱 떨어지는 값만 switch()괄호 안에 적어줘야 한다. (실수는 안됨)

문법

switch (조건 값)

{

    case 값1:

        조건 값이 값1일 때 실행하고자 하는 명령문;

        break;

    case 값1:

        조건 값이 값2일 때 실행하고자 하는 명령문;

        break;

    ...

    default:

        조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;

        break;

}

 

 

ex)

int main()
{
	int number;
	cout << "정수를 입력하시오: ";
	cin >> number;

	switch (number) { //number라는 값이 들어간다 라고 생각하면 편함
	case 0 :
		cout << "없음\n";
		break;
	case 1 :
		cout << "하나\n";
		break;
	case 2:
		cout << "둘\n";
		break;
	default:
		cout << "많음\n";
		break;

	}
	return 0;
}

 

 


 

 

 

(1) 정수를 입력받아 홀수 짝수를 판별하시오.

int main()
{
	int number;
	cout << "정수를 입력하시오: ";
	cin >> number;

	switch (number % 2) {
	case 0 :
		cout << "짝수 입니다.";
		break;
	case 1:
		cout << "홀수 입니다.";
		break;
	default:
			break;

	}
	return 0;
}

 

 


 

 

 

(2) 계산기 만들기 

두 정수와 연산자(=,-,*,/)중 하나를 입력받아 계산하는 프로그램을 만드시오.

int main() {

	int num1;
	int num2;
	char num3;

	cout << "정수 입력 :";
	cin >> num1;

	cout << "정수 입력 :";
	cin >> num2;

	cout << "연산자 입력 :";
	cin >> num3;

	switch (num3) {
	case '+':
		cout << num1 << "+" << num2 << "는 " << num1 + num2 << "입니다.";
		break;
	case '-':
		cout << num1 << "-" << num2 << "는 " << num1 - num2 << "입니다.";
		break;
	case '*':
		cout << num1 << "*" << num2 << "는 " << num1 * num2 << "입니다.";
		break;
	case '/':
		cout << num1 << "/" << num2 << "는 " << num1 / num2 << "입니다.";
		break;
	default:
		cout << "다시 입력해주세요";
	}
	return 0;
  }

 

 


 

 

 

(3) 월을 입력 받아 해당 달의 일수를 구하기

int main()
{
	int month, days;
    
    cout << "일수를 알고 싶은 달을 입력하시오 : ";
    cin >> month;
    
    switch (month) {
        case 1:
        case 3;
        case 5;
        case 7;
        case 8;
        case 10;
        case 12;
            days = 31;
            break;
        case 2:
            days = 28;
              break;
        case 4:
        case 6;
        case 9;
            days = 30;
              break;
  }
	return 0;
}

 

 

 


 

 

 

(4)성적을 입력받아 switch문으로 학점 구하기

int main()
{
	
    int score;
	cout << "성적을 입력하세요 : ";
	cin >> score;

	switch (score / 10) {
	case 9:
		cout << "A학점 입니다.";
		break;
	case 8:
		cout << "B학점 입니다.";
		break;
	case 7 :
		cout << "C학점 입니다";
		break;
	case 6 :
		cout << "D학점 입니다.";
		break;
	default:
		cout << "F학점 입니다.";
		break;

	}

	return 0;
 }

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

C++ 실습 과제 0407  (0) 2021.04.07
반복문 - while문, for문  (0) 2021.04.06
C++ 실습 놀이동산 요금 0406  (0) 2021.04.06
제어문 - if문  (0) 2021.04.05
C++ 연산자 (2)  (0) 2021.04.05

댓글