티스토리 뷰

반응형

제목 그대로 적어도 조건문은 만들어야 게임을 만들어낼 수 있습니다.


과거 80년대? 최초의 게임은 지금처럼 그래픽이나 그림으로 보여지는 게임이 아니었습니다.


cmd를 활용한 텍스트 형식의 게임이었는데요. 유저에게 선택지를 주어 선택하는 게임이었습니다.






요즘 친구들에게는 재미없는 게임 이겠지만 그 당시에는 없어서 못할 정도였다고 합니다.


요즘도 텍스트 형식의 게임이 존재합니다. 턴제게임 파이널 판타지나 미소녀연애시뮬레이션등이 있습니다.


오늘 포스팅은 조건문을 만들고 실행하는 여러가지 방법을 알려드리겠습니다.




조건문의 종류는 3가지 if / else / else if  가 있습니다.



if(만일 ~라면)

if조건문은 사용자가 특정한 조건을 만족했을때 조건문에 대한 결과가 출력되는 형식입니다.

만일 조건을 만족을 못한다면 조건문을 무시하고 다음 작업으로 넘어가게 됩니다.




else(아니면~이다)

if조건문을 만들었지만 조건을 만족을 못하였을때 조건을 만족을 못한 것에 대한 결과 또한 필요합니다.


if (밖에 비가온다) -> 영희는 우산을 가지고 나간다.

else -> 우산을 가지고 나갈 필요가 없다.


예시로 나타낸 조건 처럼 비가 오는 경우 우산을 가지고 나가지만 비가 오지않는 경우 또한 고려를 해야합니다. 때문에 사용한 것이 else 조건문입니다. 



else if(만일 또 다른 ~라면)

이 조건문은 자판기를 생각하시면 편합니다. 콜라를 선택하는경우 콜라가 나오고 사이다를 선택한 경우 사이다가 나옵니다. else와의 차이점은 조건을 많이 만들 수 있다는 점입니다.

else에서는 if조건문이 만족을 못하면 자동으로 else의 결과가 출력되지만 else if는 또 다른 조건이 등장합니다.



코드로 알아보겠습니다.



  if 조건문의 코드식


#include <stdio.h>


int main()

{

char c1 = 'k';


if (c1 == 'k')

{

printf("k입니다.\n");

}

return 0;

}


노란색으로 표시된 것이 if조건문의 구성입니다. if 다음 조건식을 만들고 괄호에 코드를 입력을하면 되는 간단한 구성입니다.

여기서 알야야 할 것은 조건식에서 등호는 반드시 두번 == 으로 나타내 주어야 합니다.

그리고 조건식 뒤에는 세미콜론을 입력하지 않습니다.  


변수 c1의 값이 'k'로 저장되있는 상태에서 if 조건문을 만족하였기때문에 "k입니다." 문장이 출력이 됩니다.

만일 변수가 'k'가 아닌 다른 값일 경우는 아무것도 출력되지 않습니다.


때문에 필요한것이  else조건문 입니다.


#include <stdio.h>


int main()

{

char c1 = 'a';


if (c1 == 'k')

{

printf("k입니다.\n");

}


else

{

printf("k가 아닙니다.\n");

}


return 0;

}


if에서 말한 경우 처럼 만일 변수가 k가 아닌 다른 값일 경우에도 값의 결과가 출력이 되어야 한다면 else조건문을 사용하시면 됩니다.

변수가 k가 아닌 a를 입력한 코드를 실행하면 "k가 아닙니다"라는 결과가 출력이 됩니다.


위 코드는 모 아니면 도 , a 아니면 b 라는 구성을 보여주고 있습니다.


그러나 선택지가 3가지 이상인 경우에는 위 식에서 조건을 더 많이 만들어 주어야합니다. 쉽게 생각하서 if를 여러번 사용하면 되기도 합니다.

그러나 if 조건문을 여러번 사용하였을 경우 코드식이 정리가 안되며 오류가 발생할 수 있기때문입니다.


조건문을 다량으로 만든경우는 else if 조건문을 사용하시면 되겠습니다.


a,b,c,d 에서 사용자가 선택한 값이 출력이 되도록 하려면


#include <stdio.h>


int main()

{

char c1 = 'b';


if (c1 == 'a')

{

printf("a입니다.\n");

}


else if (c1 == 'b')

{

printf("b입니다.\n");

}


else if (c1 == 'c')

{

printf("c입니다.\n");

}


else

{

printf("d 이상 입니다..\n");

}


return 0;

}



코드를 실행할 경우 결과는 "b입니다"가 되며 d이상의 값을 입력하면  "d 이상 입니다." 라는 문구자 출력이됩니다.


else if 조건문은 if로 조건을 만들고 else if로 사용자가 원하는 조건식을 여러개 만들 수 있다는 것을 알아야합니다. 위 식처럼 else를 반드시 마지막에 써주어야 할 필요는 없습니다. 그리고 if와 같이 사용자가 지정한 조건식에 대한 조건을 모두 만족을 못할 경우에는 아무것도 출력이 되지 않습니다.


세가지 조건문을 만들면서 초보자가 혼돈할 수 있는 부분을 정리하겠습니다.


 1. 조건식에서는 등호가 반드시 2번 == 입력되어야합니다.


 2. 조건식 뒤에는 세미콜론을 입력하지 않습니다.


 3. if / else if 에는 조건식을 입력하지만 else에는 조건식을 입력하지 않습니다.

 


-------------------------------------------------------------------------------------------------------



위에서 배운 조건문을 바탕으로 버스카드 시스템 프로그램을 만들어보겠습니다.


21세의 일반인이 1만원이 들어있는 교통카드를 이용하여 버스를 타려고 합니다. 버스카드 리더기의 코드식을 만들어보시오.


어린이(7세 ~ 12세) : 500원  /  청소년(13세 ~ 18세) : 1100원  /  성인(19세 이상) : 1400원



#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>


int main()

{

int money = 10000;

int age;


scanf("%d", &age);


if (age <= 12 && age >= 7)

{

money = money - 500;

}


else if (age <= 18 && age >= 13)

{

money = money - 1100;

}


else if (19 <= age)

{

money = money - 1400;

}


printf("%d\n", money);


return 0;

}



scanf를 이용해 age에 21을 입력하면 버스카드를 1번 사용한 경우 카드에 남은 잔액이 출력이 됩니다.


만일 반복적인 사용을 원한다면 다음에 배울 반복문을 사용하시면 되겠습니다.

 


결국에는 사용자가 원하는 답만 출력이 되면되기 때문에 제가 구성한 코드식 만이 정답이라고는 할 수 없습니다.

위 코드식에서 더 간단하게 그리고 더 쉽게 표현이 가능하다면 그것 또한 정답이 될 수 있습니다.





반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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 31
글 보관함