switch

Jaemyeong Lee·2024년 8월 4일
0

FastCampusC++

목록 보기
16/78

첫 번째 블록

{
    cout << "What's your favorite food?" << endl;
    cout << "1) Kimch" << endl;
    cout << "2) Korean BBQ" << endl;
    cout << "3) Chicken" << endl;

    int num;
    cin >> num;

    switch (num)
    {
    case 1:
        cout << "You selected Kimch" << endl;
        break;
    case 2:
        cout << "You selected Korean BBQ" << endl;
        break;
    case 3:
        cout << "You selected Chicken" << endl;
        break;
    default:
        cout << "Invalid Input" << endl;
    }
}
  1. 사용자에게 세 가지 음식 중 하나를 선택하도록 묻습니다.
  2. 입력된 숫자를 num 변수에 저장합니다.
  3. switch 문을 사용하여 num의 값에 따라 다른 메시지를 출력합니다.
    • num이 1이면 "You selected Kimch"
    • num이 2이면 "You selected Korean BBQ"
    • num이 3이면 "You selected Chicken"
    • 그 외의 값이면 "Invalid Input"

두 번째 블록

{
    cout << "What's your favorite food?" << endl;
    cout << "a) Kimch" << endl;
    cout << "b) Korean BBQ" << endl;
    cout << "c) Chicken" << endl;

    char ch;
    cin >> ch;

    switch (ch)
    {
    case 'a':
    case 'A':
        cout << "You selected Kimch" << endl;
        break;
    case 'b':
    case 'B':
        cout << "You selected Korean BBQ" << endl;
        break;
    case 'c':
    case 'C':
        cout << "You selected Chicken" << endl;
        break;
    default:
        cout << "Invalid Input" << endl;
    }
}
  1. 사용자에게 세 가지 음식 중 하나를 선택하도록 묻습니다.
  2. 입력된 문자를 ch 변수에 저장합니다.
  3. switch 문을 사용하여 ch의 값에 따라 다른 메시지를 출력합니다.
    • ch가 'a' 또는 'A'이면 "You selected Kimch"
    • ch가 'b' 또는 'B'이면 "You selected Korean BBQ"
    • ch가 'c' 또는 'C'이면 "You selected Chicken"
    • 그 외의 값이면 "Invalid Input"

세 번째 블록

{
    char ch;
    cin >> ch;

    switch (ch)
    {
    case 'A':
        cout << "Converted to a" << endl;
        [[fallthrough]];
    case 'a':
        cout << "You selected Kimch" << endl;
        break;
    case 'B':
        cout << "Converted to b" << endl;
        [[fallthrough]];
    case 'b':
        cout << "You selected Korean BBQ" << endl;
        break;
    case 'C':
        cout << "Converted to c" << endl;
        [[fallthrough]];
    case 'c':
        cout << "You selected Chicken" << endl;
        break;
    default:
        cout << "Invalid Input" << endl;
    }
}
  1. 사용자가 입력한 문자를 ch 변수에 저장합니다.
  2. switch 문을 사용하여 ch의 값에 따라 다른 메시지를 출력합니다.
    • ch가 'A'이면 "Converted to a" 출력 후 'a'로 넘어갑니다.
    • ch가 'a'이면 "You selected Kimch"를 출력합니다.
    • ch가 'B'이면 "Converted to b" 출력 후 'b'로 넘어갑니다.
    • ch가 'b'이면 "You selected Korean BBQ"를 출력합니다.
    • ch가 'C'이면 "Converted to c" 출력 후 'c'로 넘어갑니다.
    • ch가 'c'이면 "You selected Chicken"을 출력합니다.
    • 그 외의 값이면 "Invalid Input" 출력합니다.

네 번째 블록

{
    bool b = true;
    switch (b)
    {
    case true:
        cout << "true" << endl;
        break;
    default:
        cout << "false" << endl;
    }
}
  1. bool 변수 btrue로 초기화합니다.
  2. switch 문을 사용하여 b의 값에 따라 메시지를 출력합니다.
    • b가 true이면 "true" 출력
    • b가 false이면 "false" 출력 (이 경우는 b가 true이기 때문에 실행되지 않습니다)

다섯 번째 블록

{
    int selection = 0;
    if (selection == 0)
        cout << 0 << endl;
    else if (selection == 1)
        cout << 1 << endl;
    else if (selection == 2)
        cout << 2 << endl;
    else if (selection == 3)
        cout << 3 << endl;

    switch (selection)
    {
    case 0:
        cout << 0 << endl;
        break;
    case 1:
        cout << 1 << endl;
        break;
    case 2:
        cout << 2 << endl;
        break;
    case 3:
        cout << 3 << endl;
        break;
    }
}
  1. selection 변수를 0으로 초기화합니다.
  2. if-else 문을 사용하여 selection의 값에 따라 메시지를 출력합니다.
    • selection이 0이면 0 출력
    • selection이 1이면 1 출력
    • selection이 2이면 2 출력
    • selection이 3이면 3 출력
  3. switch 문을 사용하여 selection의 값에 따라 메시지를 출력합니다.
    • selection이 0이면 0 출력
    • selection이 1이면 1 출력
    • selection이 2이면 2 출력
    • selection이 3이면 3 출력

여섯 번째 블록

{
    int num0, num1;
    switch (int count = scanf("%d %d", &num0, &num1))
    {
    case 1:
        cout << num0 << endl;
        break;
    case 2:
        cout << num0 << endl;
        cout << num1 << endl;
        break;
    }
}
  1. num0num1 변수를 선언합니다.
  2. scanf 함수를 사용하여 두 정수를 입력받고 count 변수에 입력된 정수의 개수를 저장합니다.
  3. switch 문을 사용하여 count의 값에 따라 메시지를 출력합니다.
    • count가 1이면 num0 출력
    • count가 2이면 num0num1을 출력

일곱 번째 블록 (C++17 이상)

{
    switch (int num0, num1; int count = scanf("%d %d", &num0, &num1))
    {
    case 1:
        cout << num0 << endl;
        break;
    case 2:
        cout << num0 << endl;
        cout << num1 << endl;
        break;
    }
}
  1. num0num1 변수를 선언하고 scanf 함수를 사용하여 두 정수를 입력받고 count 변수에 입력된 정수의 개수를 저장합니다.
  2. switch 문을 사용하여 count의 값에 따라 메시지를 출력합니다.
    • count가 1이면 num0 출력
    • count가 2이면 num0num1을 출력

이 예제에서는 switch 문법의 다양한 사용 예시와 함께 C++17에서 도입된 새로운 문법 요소인 [[fallthrough]]switch 문 내에서 변수 선언을 다루고 있습니다. switch 문은 조건에 따라 여러 가지 경우를 처리할 때 유용하게 사용될 수 있습니다.

profile
李家네_공부방

0개의 댓글