반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> using namespace std; int main() { int score = 2; switch(score){ case 0: cout << "밀려 쓰셨군요~\n"; break; case 1: cout << "조금 더 노력하세요\n"; break; case 2: cout << "안타깝습니다.\n"; break; case 3: cout << "멋있어요~\n"; break; case 4: cout << "완벽해요~\n"; break; } return 0; } | cs |
break;가 없으면 어떻게 될까?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; int main() { int score = 2; switch(score){ case 0: cout << "밀려 쓰셨군요~\n"; case 1: cout << "조금 더 노력하세요\n"; case 2: cout << "안타깝습니다.\n"; case 3: cout << "멋있어요~\n"; case 4: cout << "완벽해요~\n"; } return 0; } | cs |
위처럼 상관 없는 문장이 나옵니다.
저 것을 고치기 위해서는 case문을 쓰셨으면 반드시 break;를 해주어야 아래처럼 정상적으로 나옵니다.
break;가 switch문을 빠져나가게 하는 역할을합니다.
그리고 무족건 프로그래밍에서는 0부터 시작입니다.
case 0:
break;
case 1:
break;
처럼요
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; int main() { int score = 5; switch(score){ case 0: cout << "밀려 쓰셨군요~\n"; case 1: cout << "조금 더 노력하세요\n"; case 2: cout << "안타깝습니다.\n"; case 3: cout << "멋있어요~\n"; default: cout << "올바르지 않은 점수입니다.\n"; } return 0; } | cs |
default의 역할은 입력값 이외에 값이 입력되었을 경우 오류 메세지 출력과 같은 역할을 구현하고자 할 때 사용됩니다.
case x: 중 x에 해당되는 값이 아닌 그 외에 값이 입력되었을 때 default:로 가고 출력된 후 switch문을 탈출합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; int main() { int score = 1; switch(score){ case 0: case 1: case 2: cout << "열심히하세요.\n"; break; case 3: cout << "멋있어요~\n"; break; default: cout << "올바르지 않은 점수입니다.\n"; } return 0; } | cs |
case문을 붙여 쓸 수도 있습니다.
이 경우 case 0~2까지 11번째 줄을 실행하고 종료합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> using namespace std; int main() { char score = 'a'; switch(score){ case 'a': cout << "참 잘했어요.\n"; break; case 'b': cout << "잘했어요.\n"; break; case 'c': case 'd': cout << "분발하세요.\n"; break; case 'f': cout << "쯧쯧\n"; break; default: cout << "올바르지 않은 점수입니다.\n"; } return 0; } | cs |
switch/case 명령문을 사용해서 학점 별 안내 문구 구현
반응형
'공부 > 개발노트' 카테고리의 다른 글
[C/C++] switch/case문 오류 해결 방법(case 안에 변수를 정의했을 때) (0) | 2016.08.16 |
---|---|
[C/C++] switch/case문을 if문으로 변경해보기 (0) | 2016.08.16 |
[C/C++] if문 사용 예문 (0) | 2016.08.16 |
[C/C++] 연산 중 발생한 형변환 (0) | 2016.08.16 |
[C/C++] AND, Shift 연산, OR 연산의 활용 (0) | 2016.08.16 |