회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


조건문 switch

푸딩뱃살 | 2015.10.30 10:56 | 조회 2069
C++ switch 조건문
- 조건식에 해당하는 특정 조건이 참일 경우에만 특정 문장을 실행하도록 하는 "제어문"

1. switch 문 : 여러개의 조건식 중 참인 조건식에 대한 결과 문장만을 실행함
*조건이 ==(같다)와 정수 일 때

[문법]
문장1
switch(정수식) {
    case 정수값1:
        문장2;
        break;
    case 정수값2:
        문장3;
        break;
    case 정수값3:
        문장4;
        break;
    case 정수값n:
        문장n;
        break;
    default:
        문장5;
        break;
문장6

1. 정수식이 정수값2와 같을 경우 문장 실행 순서 : 문장1 -> 문장3 -> 문장6
2. 정수식과 일치하는 정수값이 없을 경우 문장 실행 순서 : 문장1 -> 문장5 -> 문장6

[특이사항]
1. switch문은 다중 if문과 비슷함
2. 모든 switch문은 다중 if문으로 전환할 수 있지만 반대는 그렇지 않다.

몬스터 이동의 if문과 switch문
#include <iostream>
#include <string>
// 렌덤값 추출 관련 라이브러리
#include <stdio.h>
#include <time.h>

using namespace std;

void main() {
    // 렌덤값 추출
    srand((unsigned int)time(NULL));

    int dir = 1;
    int stamina = 100;

    // 방향을 추출함 (5방향)
    dir = rand() % 5 + 1;

    // if문

    if (dir == 1){ // 동쪽 방향이라면 (조건1)
        cout << "몬스터가 동쪽 방향으로 이동" << endl;
    }
    else if (dir == 2){ // 서쪽 방향이라면 (조건2)
        cout << "몬스터가 서쪽 방향으로 이동" << endl;
    }
    else if (dir == 3) { // 남쪽 방향이라면 (조건3)
        cout << "몬스터가 남쪽 방향으로 이동" << endl;
    }
    else if (dir == 4) { // 북쪽 방향이라면 (조건4)
        cout << "몬스터가 북쪽 방향으로 이동" << endl;
    }
    else{ // 제자리라면 (모든 조건이 아니라면)
        cout << "몬스터가 제자리에" << endl;
    }

    // switch문
    // if (dir            == 1) {        명령줄        }
    // switch (dir)        case 1:        명령줄        break;
    
    // else {        명령줄        }
    // default:        명령줄        break;

    switch (dir) {   // dir 정수형 기준 변수
        
    case 1:  // == 1) {  -> 정수값
        cout << "몬스터가 동쪽 방향으로 이동" << endl;
        break;
    case 2:
        cout << "몬스터가 서쪽 방향으로 이동" << endl;
        break;
    case 3:
        cout << "몬스터가 남쪽 방향으로 이동" << endl;
        break;
    case 4:
        cout << "몬스터가 북쪽 방향으로 이동" << endl;
        break;
    default:
        cout << "몬스터가 제자리에" << endl;
        break; // }
    }
}

가위바위보 조건을 switch문으로
// switch 예제

#include <iostream>
#include <string>
// 렌덤값 추출 관련 라이브러리
#include <stdio.h>
#include <time.h>

using namespace std;

void main() {
    // 렌덤값 추출
    srand((unsigned int)time(NULL));

    int me;
    string result_;

    cout << "메뉴를 입력하세요 (1.가위 2.바위 3.보) : "; cin >> me;

    cout << "플레이어가 ";
    switch (me){
    case 1:
        result_ = "가위";
        // cout << "가위";
        break;
    case 2:
        result_ = "바위";
        // cout << "바위";
        break;
    case 3:
        result_ = "보";
        // cout << "보";
        break;
    }

    cout << result_ << "를 냈습니다." << endl;
}
if문과 switch문 비교
플레이어의 레벨을 입력하여 레벨 조건으로 직책과 인던 출입 여부 결정
#include &lp;iostream>
#include &lp;string>
// 렌덤값 추출 관련 라이브러리
#include &lp;stdio.h>
#include &lp;time.h>

using namespace std;

void main() {
    // 렌덤값 추출
    srand((unsigned int)time(NULL));

    int level;
    cout << "레벨 입력 : "; cin >> level;

    // if문
    cout << "플레이어는 ";
    if (level >= 40) {
        cout << "최고급 영웅";
    }
    else if (level >= 30) {
        cout << "고급 영웅";
    }
    else if (level >= 20) {
        cout << "영웅";
    }
    else if (level >= 10) {
        cout << "일반";
    }
    else {
        cout << "초보";
    }

    cout << "으로 인던 참가가 가능" << endl;


    // switch문

    switch (level / 10) {
    case 0:
        cout << "초보";
        break;
    case 1:
        cout << "일반";
        break;
    case 2:
        cout << "영웅";
        break;
    case 3:
        cout << "고급 영웅";
        break;
     default:
        cout << "최고급 영웅";
        break;
    }
    cout << "으로 인던 참가가 가능" << endl;
}
if문과 switch문 비교
무기를 선택하면 무기의 종류를 출력
#include <iostream>
#include <string>
// 렌덤값 추출 관련 라이브러리
#include <stdio.h>
#include <time.h>

using namespace std;

void main() {
    // 렌덤값 추출
    srand((unsigned int)time(NULL));


    int swordNum;

    cout << "검을 선택" << endl;
    cout << "1. 남쟁이검" << endl;
    cout << "2. 도적검" << endl;
    cout << "3. 엑스칼리버" << endl;
    cout << "4. 불꽅검" << endl;
    cout << "5. 세이버" << endl;
    cout << "6. 무시시한도끼" << endl;
    cout << "7. 장인의검" << endl;
    cout << "8. 무식한도끼" << endl;
    cout << "9. 무거운망치" << endl;
    cout << "선택 : "; cin >> swordNum;

    // if
    cout << "플레이어는 ";
    if (swordNum == 1 || swordNum == 2 || swordNum == 5) {
        cout << "단검류";
    }
    else if (swordNum == 3 || swordNum == 4 || swordNum == 7) {
        cout << "도검류";
    }
    else {
        cout << "둔기류";
    }
    cout << "를 선택하였습니다." << endl;

    cout << endl;

    // switch
    cout << "플레이어는 ";
    switch (swordNum) {
    // 정수의 조건이 맞는 case를 모아두면 된다.
    case 1:
    case 2:
    case 5:
        cout << "단검류";
        break;
    case 3:
    case 4:
    case 7:
        cout << "도검류";
        break;
    default:
        cout << "둔기류";
        break;
    }
    cout << "를 선택하였습니다." << endl;
}
285개(8/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
145 [C/C++] 배열 푸딩뱃살 2003 2015.11.03 09:58
144 [C/C++] 클래스 푸딩뱃살 2376 2015.11.03 09:58
143 [C/C++] 함수 사용 팁 푸딩뱃살 1957 2015.11.03 09:54
142 [C/C++] 가위바위보 게임 3 (함수 사용) 푸딩뱃살 3166 2015.11.02 13:45
141 [C/C++] 함수 푸딩뱃살 1803 2015.11.02 13:44
140 [C/C++] 2차원(2중) for문 푸딩뱃살 1957 2015.10.30 17:59
139 [C/C++] 상수 푸딩뱃살 1402 2015.10.30 17:58
138 [C/C++] 가위바위보 게임 2 푸딩뱃살 1644 2015.10.30 17:32
137 [C/C++] continue문 푸딩뱃살 1531 2015.10.30 16:01
136 [C/C++] break문 푸딩뱃살 1666 2015.10.30 15:43
135 [C/C++] 반복문 while와 for 비교 푸딩뱃살 2486 2015.10.30 15:42
134 [C/C++] 반복문 for 푸딩뱃살 1820 2015.10.30 14:16
133 [C/C++] 반복문 while 푸딩뱃살 2254 2015.10.30 14:13
132 [C/C++] 반복문 하기 전 스크립트 푸딩뱃살 1971 2015.10.30 14:10
>> [C/C++] 조건문 switch 푸딩뱃살 2070 2015.10.30 10:56
130 [C/C++] 가위바위보 게임 푸딩뱃살 1743 2015.10.29 17:30
129 [C/C++] 조건문 if ~ else 푸딩뱃살 1966 2015.10.29 15:08
128 [C/C++] 형 변환 푸딩뱃살 1649 2015.10.29 12:02
127 [C/C++] 대입 연산자 푸딩뱃살 1561 2015.10.29 12:00
126 [C/C++] 증가감 연산자 푸딩뱃살 1573 2015.10.29 11:57