연습장

분기문 본문

언리얼 개발자/C++

분기문

도다람 2022. 9. 12. 16:55

주제: 분기문


지금까지 데이터를 메모리에 할당하고 가공하는 방법에 대해 알아보았다.

가공한 데이터를 이용해서 무언인가를 하고 싶다면 어떻게 해야할까?

 

[몬스터 공격 - 몬스터의 체력에 따른 상황]

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