스위치에서 OR를 사용할 수 있습니까?

MyNameIsKeegan

스위치 케이스에서 OR 연산자를 사용할 수 있습니까? 사용자 입력 확인에서 대소 문자 구분을 제거하려고했는데 (그래서이 작업을 모두 수행하는 더 좋은 방법이있을 수 있습니다. 결국 저는 초보자입니다) 물론 이로 인해 스위치 케이스가 두 배로 늘어났습니다 (기본 케이스 제외). ). 이 시점에서 if / else를 사용하는 것이 더 좋을까요, 아니면 케이스에서 다른 조건을 확인하는 방법이 있습니까?

도움이되는 경우 내 코드 :

    case 'Y':
    case 'y':
        cout << "Good, we will check later to ensure your opinion is unchanged." << endl;
        break;
    case 'N':
    case 'n':
        cout << "Open your window tonight, unlock the door, take sleep medication, and ignore any noises in your room." << endl;
        break;
    default:
        cout << "Not an answer... think you can play games with me? I'll give you worse than the lemon haters, you'll be better off killing yourself before I take matters into my own hands." << endl;
위스키

문자가 소문자인지 대문자인지 구별 할 계획이없는 경우 가장 좋은 해결책은 스위치 변수를 소문자 / 대문자로 "변환"하는 것입니다. 이를 통해 불필요한 경우를 제거하고 새로운 사례를 구현하는 동안 시간을 ​​절약 할 수 있습니다.

귀하의 결정에 따라 std::tolower또는 std::toupper다음을 선택할 수 있습니다 .

switch (std::tolower(x)) {
    case 'y':
        std::cout << "answer1" << std::endl;
        break;
    case 'n':
        std::cout << "answer2" << std::endl;
        break;
    default:
        std::cout << "answer3" << std::endl; 
        break;
}

OR 문 사용에 대한 질문에 대한 답변-에서 잘 작동하지 않습니다 char. 모든 문자는 어떤 정수 (ASCII 테이블의 값), 예를 들면 그 수단으로 정의 된 y값을 가지고 121있지만, Y있다 89.

표현식을 살펴 보겠습니다.에서 case 'y' || 'Y'반환 된 값 'y' || 'Y'은 실제로 1. 어떻게 가능합니까? OR 문 반환 1인자 중 하나 이상이없는 경우 00그렇지 않은 경우. 값이 계산되는 방법은 다음과 같습니다.

case 'y' ||  'Y'    =>    case 121 || 89    =>    case 1

슬프게도 y또한 ASCII Y로 정의 되지 않았 1으므로 스위치는 default해당 입력에 대 / 소문자를 사용 합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

언 매니지드 스위치를 / 30에 사용할 수 있습니까?

분류에서Dev

AC # 스위치에서 케이스를 기본값으로 사용할 수 있습니까?

분류에서Dev

CentOS에서 사용자 파일 (데스크톱, 문서 등)의 위치를 변경할 수 있습니까?

분류에서Dev

getRange ()에서 행 / 열 위치로 셀 참조를 사용할 수 있습니까?

분류에서Dev

단위 테스트에서 DebuggerDisplay 정보를 사용할 수 있습니까?

분류에서Dev

단위 테스트에서 Assert를 어떻게 사용할 수 있습니까?

분류에서Dev

단위 테스트에서 Assert를 어떻게 사용할 수 있습니까?

분류에서Dev

AbstractAction 클래스에서 paintComponent ()를 사용할 수 있습니까?

분류에서Dev

수동 설치에 Wubi를 사용할 수 있습니까?

분류에서Dev

수동 설치에 Wubi를 사용할 수 있습니까?

분류에서Dev

함수 범위에 {} 대신 ()를 사용할 수 있습니까?

분류에서Dev

스위치 케이스에서 할당을 사용할 수 있습니까?

분류에서Dev

스위치에서 QChar 객체를 어떻게 평가할 수 있습니까?

분류에서Dev

iptables 명령에서 -m 스위치를 생략 할 수 있습니까?

분류에서Dev

스프링 배치에서 요청 / 응답 사용 사례에 AmqpItemReader 및 AmqpItermWriter를 사용할 수 있습니까?

분류에서Dev

PHP에서 분할 루프를 사용할 수 있습니까?

분류에서Dev

PDF 문서에서 변수를 사용할 수 있습니까?

분류에서Dev

하위 함수에서 지역 변수를 사용할 수 있습니까?

분류에서Dev

켜기 / 끄기 스위치 대신 점퍼를 사용할 수 있습니까?

분류에서Dev

스위치를 사용하여 ImageFormat을 선택할 수 있습니까?

분류에서Dev

C ++에서 스위치 범위 밖에서 변수를 선언 할 수 있습니까?

분류에서Dev

PC를 PoE 스위치에 연결할 수 있습니까?

분류에서Dev

SCSS 파일에서 변수를 사용할 수 있습니까?

분류에서Dev

testCafe에서 지역 변수를 사용할 수 있습니까?

분류에서Dev

map () 함수에서 range ()를 사용할 수 있습니까?

분류에서Dev

HTML에서 변수를 사용할 수 있습니까?

분류에서Dev

crontab -e에서 변수를 사용할 수 있습니까?

분류에서Dev

Siddhi SQL 문에서 변수를 사용할 수 있습니까?

분류에서Dev

PostgreSQL에서 aclexplode () 함수를 사용할 수 있습니까?

Related 관련 기사

  1. 1

    언 매니지드 스위치를 / 30에 사용할 수 있습니까?

  2. 2

    AC # 스위치에서 케이스를 기본값으로 사용할 수 있습니까?

  3. 3

    CentOS에서 사용자 파일 (데스크톱, 문서 등)의 위치를 변경할 수 있습니까?

  4. 4

    getRange ()에서 행 / 열 위치로 셀 참조를 사용할 수 있습니까?

  5. 5

    단위 테스트에서 DebuggerDisplay 정보를 사용할 수 있습니까?

  6. 6

    단위 테스트에서 Assert를 어떻게 사용할 수 있습니까?

  7. 7

    단위 테스트에서 Assert를 어떻게 사용할 수 있습니까?

  8. 8

    AbstractAction 클래스에서 paintComponent ()를 사용할 수 있습니까?

  9. 9

    수동 설치에 Wubi를 사용할 수 있습니까?

  10. 10

    수동 설치에 Wubi를 사용할 수 있습니까?

  11. 11

    함수 범위에 {} 대신 ()를 사용할 수 있습니까?

  12. 12

    스위치 케이스에서 할당을 사용할 수 있습니까?

  13. 13

    스위치에서 QChar 객체를 어떻게 평가할 수 있습니까?

  14. 14

    iptables 명령에서 -m 스위치를 생략 할 수 있습니까?

  15. 15

    스프링 배치에서 요청 / 응답 사용 사례에 AmqpItemReader 및 AmqpItermWriter를 사용할 수 있습니까?

  16. 16

    PHP에서 분할 루프를 사용할 수 있습니까?

  17. 17

    PDF 문서에서 변수를 사용할 수 있습니까?

  18. 18

    하위 함수에서 지역 변수를 사용할 수 있습니까?

  19. 19

    켜기 / 끄기 스위치 대신 점퍼를 사용할 수 있습니까?

  20. 20

    스위치를 사용하여 ImageFormat을 선택할 수 있습니까?

  21. 21

    C ++에서 스위치 범위 밖에서 변수를 선언 할 수 있습니까?

  22. 22

    PC를 PoE 스위치에 연결할 수 있습니까?

  23. 23

    SCSS 파일에서 변수를 사용할 수 있습니까?

  24. 24

    testCafe에서 지역 변수를 사용할 수 있습니까?

  25. 25

    map () 함수에서 range ()를 사용할 수 있습니까?

  26. 26

    HTML에서 변수를 사용할 수 있습니까?

  27. 27

    crontab -e에서 변수를 사용할 수 있습니까?

  28. 28

    Siddhi SQL 문에서 변수를 사용할 수 있습니까?

  29. 29

    PostgreSQL에서 aclexplode () 함수를 사용할 수 있습니까?

뜨겁다태그

보관