Menu
Coddy logo textTech

Switch 문

Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 29번째.

switch 문은 다중 if 문과 비슷합니다. 단일 조건을 평가하는 대신, 변수의 값을 여러 케이스와 비교하여 일치하는 케이스와 관련된 코드를 실행합니다.

다음은 switch 문의 기본 구조입니다:

switch (variable) {
    case value1:
        // variable이 value1과 같을 때 실행할 코드
        break;
    case value2:
        // variable이 value2와 같을 때 실행할 코드
        break;
    // ... 더 많은 케이스들
    default:
        // 일치하는 케이스가 없을 때 실행할 코드
}
  • switch 키워드 뒤에는 괄호 안에 테스트하려는 변수가 옵니다.
  • case는 변수의 가능한 값을 나타냅니다.
  • 변수가 해당 case의 값과 일치하면 각 case 내부의 코드가 실행됩니다.
  • break 문은 매우 중요합니다. 케이스가 실행된 후 switch 문을 종료합니다. 이것이 없으면 실행이 다음 케이스로 "넘어가게(fall through)" 됩니다.
  • default 케이스는 선택 사항이며 다른 어떤 케이스도 일치하지 않을 때 실행됩니다.

다음은 예시입니다:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... 다른 요일에 대한 케이스들
    default:
        dayName = "Invalid day";
}

여러 개의 case를 하나로 결합할 수도 있습니다:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... 다른 요일에 대한 케이스들
    default:
        dayName = "Invalid day";
}
challenge icon

챌린지

초급

월 번호(1월은 1, 2월은 2 등)를 입력받아 해당 월이 속한 계절을 출력하는 프로그램을 작성하세요. 로직에는 switch 문을 사용하세요.

계절과 그에 해당하는 월은 다음과 같습니다:

  • Winter: 12월 (12), 1월 (1), 2월 (2)
  • Spring: 3월 (3), 4월 (4), 5월 (5)
  • Summer: 6월 (6), 7월 (7), 8월 (8)
  • Autumn: 9월 (9), 10월 (10), 11월 (11)
  • Invalid month: 그 외의 경우

치트 시트

switch 문은 변수를 여러 케이스와 비교하는 다중 조건문입니다:

switch (variable) {
    case value1:
        // variable이 value1과 같을 때 실행할 코드
        break;
    case value2:
        // variable이 value2와 같을 때 실행할 코드
        break;
    default:
        // 일치하는 케이스가 없을 때 실행할 코드
}

주요 구성 요소:

  • case: 변수의 가능한 값을 나타냅니다
  • break: 케이스가 실행된 후 switch 문을 종료합니다 (fall-through 방지)
  • default: 일치하는 다른 케이스가 없을 때 실행되는 선택적 케이스

여러 케이스를 결합할 수 있습니다:

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    default:
        dayName = "Invalid day";
}

직접 해보기

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // 아래에 코드를 작성하세요
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨