본문 바로가기
Coding&Script/C, C++,C#

조건문

by WeetLies 2019. 3. 15.
사용자에게 입력을 받은 후 입력받은 값에 의해 2인석/4인석/단체석을 나누는 예제.
if문은

if(조건1){

조건1에 참일경우 실행할 내용;

}

else if(조건2){

조건1에는 부합하나 조건2에는 참일 경우 실행할 내용;

}

else{

어떤 조건에도 부합할때 실행할 내용;

}

으로 작성된다. 이때 else if는 여러개가 들어갈 수 있으나, 프로그램의 코드소드의 최적화 및 유지보수면에서 if문은 선택지가 적은 환경에서만 활용하는게 좋다.

2를 넣었을떄2를 넣었을떄3을 넣었을때3을 넣었을때6을 넣었을떄6을 넣었을때



사용자의 입력을 받아 A/B/C학점을 출력 하는 예제.

여기서는 switch문을 사용했다. switch문은

switch(조건을 부여할변수){

case '조건1':

조건1에 참일때 작업할 내용;

case '조건2':

조건2에 참일때 작업할 내용;

case '조건3':

조건3에 참일때 작업할 내용;

default:

모든 조건에 부합할때 작업할 내용;

}

으로 작성된다. 단, 여기서 이 소스코드는 완성된 소스코드가 아니다. 위 예제를 실행 후, 결과를 출력하게 된다면 결과는 아래와같이 나온다.

A를 입력했을때B를 입력했을 때

C를 입력했을 때D를 입력했을 때


우리가 원하는 결과는 A를 넣었을때에는 A학점입니다 만 보이고 B를 넣었을때에는 B학점입니다 만 보이고 싶지만, switch문은 위에서부터 아래로 차근차근 작동하는 소스코드이기때문에 조건1에서 참이라고 하여 작업을 수행하게 되면 아래의 모든 조건을 충족하는것으로 보고 후에 작업할 모든 조건에 대해 결과물을 출력하게 만든다. 이 소스코드를 수정해서 아래와 같이 넣어야 한다.


위의 소스코드와 달라진점이라고 하면 각 조건의 결과 출력 이후 break구문을 넣는것이다.

즉, 제대로 된 switch문을 사용하기 위해서는

switch(조건을 부여받을 변수 또는 조건으로 나누기 위한 값이 들어있는곳){

case '조건1':

조건1에 해당할경우 작업할내용;

break;(이하 작업을 생략하고 switch문 탈출)

case '조건2':

조건2에 해당할경우 작업할내용;

break;(이하 작업을 생략하고 switch문 탈출)

case '조건3':

조건3에 해당할경우 작업할내용;

break;(이하 작업을 생략하고 switch문 탈출)

default:

모든조건에 부합할 경우 작업할내용;

}

로 작성하게 된다. 이렇게 수정한 소스코드를 작동시켜보면

A를 넣었을때B를 넣었을때

C를 넣었을때D를 넣었을때

원하는 결과만 출력하도록 바뀐것을 볼 수 있다.

또한 switch문은 조건을 연속적으로 작성한다음, 하나의 결과로 출력도 가능하다.



위에 소스코드는 case 1,2,3에 하나의 결과값

case 4,5,6에 하나의 결과값

case 7,8,9에 하나의 결과값

case 10,11,12에 하나의 결과값을 받도록 되어있다. 이를 출력하게 되면


1를 입력했을때2를 입력했을때3를 입력했을때

4를 입력했을때5를 입력했을때6를 입력했을때

7를 입력했을때8를 입력했을때9를 입력했을때

10를 입력했을때11를 입력했을때12를 입력했을때

이런식으로 화면에 출력되게 된다.

'Coding&Script > C, C++,C#' 카테고리의 다른 글

반복문(for, while)  (0) 2019.03.18
연산자(삼항/비트연산자)  (0) 2019.03.18
연산자(사칙연산,관계연산,논리연산,증감연산)  (0) 2019.03.13
Scanf활용  (0) 2019.03.12
Hello World  (0) 2019.03.12