연습장
분기문 본문
주제: 분기문
지금까지 데이터를 메모리에 할당하고 가공하는 방법에 대해 알아보았다.
가공한 데이터를 이용해서 무언인가를 하고 싶다면 어떻게 해야할까?
[몬스터 공격 - 몬스터의 체력에 따른 상황]
1) 참고: if (isDead == false)와 ! isDead는 동일한 의미를 가지고 있다.
(코딩 스타일에 따라 다르지만 조건이 늘어날 경우에는 == false가 더 가독성이 좋음)
if문
int main(){
int hp = 100;
int damage = 100;
hp -= damage;
bool isDead = (hp <= 0);
if (isDead)
cout << "몬스터를 처치했습니다" << endl;
if (isDead == false)
cout << "몬스터가 반격했습니다" << endl;
}
if - else문
int main(){
int hp = 100;
int damage = 100;
hp -= damage;
bool isDead = (hp <= 0);
if (isDead)
cout << "몬스터를 처치했습니다" << endl;
else
cout << "몬스터가 반격했습니다" << endl;
}
만약 문장2개를 출력하고 싶을 경우에는 { } 대괄호를 씌워서 문장 2개를 입력해줘야 한다.
C++에서는 if문 바로 아래에 한 줄만 실행하는 게 룰이기에 괄호를 씌워주지 않으면 문장 1개만 출력 되기 때문이다.
int main(){
int hp = 100;
int damage = 100;
hp -= damage;
bool isDead = (hp <= 0);
if (isDead){
cout << "몬스터를 처치했습니다" << endl;
cout << "몬스터를 처치했습니다" << endl;
}
else
cout << "몬스터가 반격했습니다" << endl;
}
if - else if - else문 (자주 사용됨)
int main(){
int hp = 100;
int damage = 100;
hp -= damage;
bool isDead = (hp <= 0);
if (isDead)
cout << "몬스터를 처치했습니다" << endl;
else if(hp <= 20)
cout << "몬스터가 도망가고 있습니다" << endl;
else
cout << "몬스터가 반격했습니다" << endl;
}
가위바위보 예문
int main(){
const int ROCK = 0;
const int PAPER = 1;
const int SCISSORS = 2;
int input = ROCK;
if (input == ROCK)
cout << "바위를 냈습니다" << endl;
else if (input == PAPER)
cout << "보를 냈습니다" << endl;
else if (input == SCISSORS)
cout << "가위를 냈습니다" << endl;
else
cout << "뭘 낸겁니까?" << endl;
}
Switch - case - break문
break문을 만나는 순간 스위치 문을 빠져나오게 된다.
defult는 옵션이다. 마지막에는 break문을 걸어줘도 안 걸어줘도 된다.
input에 들어가는 값은 정수 계열만 넣을 수 있다.
int main(){
const int ROCK = 0;
const int PAPER = 1;
const int SCISSORS = 2;
int input = ROCK;
switch (input){
case ROCK;
cout << "바위를 냈습니다" << endl;
break;
case PAPER;
cout << "보를 냈습니다" << endl;
break;
case SCISSORS;
cout << "가위를 냈습니다" << endl;
break;
default:
cout << "뭘 낸겁니까?" << endl;
}
}
'언리얼 개발자 > C++' 카테고리의 다른 글
연습문제 (별찍기와 구구단) (0) | 2022.09.12 |
---|---|
반복문 (0) | 2022.09.12 |
유의사항 및 팁 (0) | 2022.09.05 |
const와 메모리 구조 (0) | 2022.09.05 |
비트 연산과 비트 플래그 (0) | 2022.08.07 |
Comments