회원 로그인
|
조건문 if ~ else
C++ 조건문 if ~ else
조건식에 해당하는 특정 조건이 참일 경우에만 특정 문장을 실행하도록 하는 "제어문"
1. 단일 if문 : 하나의 조건식이 참일 경우에만 특정 문장을 실행함
[문법]
문장1
if (조건식) {
문장2;
}
문장3;
1. 조건식이 참일 경우의 문장 실행 순서 : 문장1 -> 문장2 -> 문장3
2. 조건식이 거짓일 경우 문장 실행 순서 : 문장1 -> 문장3
몬스터 공격력을 입력받아 플레이어의 HP를 출력
버프 유무를 입력하여 플레이어 버프 여부 출력
캐릭터의 레벨이 30이상이고 캐릭터 보유갯수가 5개 이상이면
"축하합니다! 이벤트에 참가하실 수 있습니다." 출력
캐릭터의 레벨이 30미만이고 캐릭터 보유갯수가 5개 이하면
"죄송합니다! 이벤트에 참가 조건이 부족합니다." 출력
플레이어의 공격 데미지를 랜덤하게 추출하시오 (1~100)
플레이어의 공격 데미지가 80~100 사이면 'Critical Hit!!" 표시를 하고
플레이어의 공격 데미지가 40~79 사이면 'Big Hit!!" 표시를 하고
플레이어의 공격 데미지가 20~39 사이면 'Nomal Hit!!" 표시를 하고
플레이어의 공격 데미지가 1~19 사이면 'Miss Hit!!" 표시를 하시오
플레이어의 공격 데미지를 맞은 몬스터의 체력도 같이 표시하고
체력이 0이하일 경우에는 사망 여부도 표시하시오.
체력이 0미만일 경우에는 체력값을 0으로 표시하시오.
(몬스터의 기본 체력을 50으로 설정하시오)
[출력결과]
플레이어가 ?? 데미지로 ?? Hit!!이 발생했습니다.
몬스터의 현재 체력은 ?? 이며 아직 생존한 상태입니다. / 사망한 상태입니다.
if ~ if else
플레이어의 공격력을 입력하여 데미지별 Hit 표시
조건식에 해당하는 특정 조건이 참일 경우에만 특정 문장을 실행하도록 하는 "제어문"
1. 단일 if문 : 하나의 조건식이 참일 경우에만 특정 문장을 실행함
[문법]
문장1
if (조건식) {
문장2;
}
문장3;
1. 조건식이 참일 경우의 문장 실행 순서 : 문장1 -> 문장2 -> 문장3
2. 조건식이 거짓일 경우 문장 실행 순서 : 문장1 -> 문장3
몬스터 공격력을 입력받아 플레이어의 HP를 출력
#include <iostream> #include <string> using namespace std; void main() { // 렌덤값 추출 srand((unsigned int)time(NULL)); // 플레이어를 공격하는 몬스터 공격력 int hp = 100; int damage; cout << "몬스터 공격력 : "; cin >> damage; hp -= damage; // hp = hp - damage; cout << "몬스터에게 " << damage << " 만큼의 공격을 당함" << endl; // 사망에 대한 조건식 - hp가 0이하일 때 cout 출력 if (hp <= 0) { cout << "hp가 0이 되어 사망" << endl; } // 플레이어의 hp가 ?이 남아 생존하였다. // 생존에 대한 조건식 - hp가 0보다 크면 cout 출력 if (hp > 0) { cout << "hp가 " << hp << "남아 생존" << endl; } cout << "-----------" << endl; // 상반 관계 // 사망과 생존은 상반 관계 // 사망이 true면 생존은 false, 생존이 true면 사망은 false if (hp <= 0) { // 사망에 대한 조건식 cout << "hp가 0이 되어 사망" << endl; } else { // 생존에 대한 조건식 // 사망하지 않았다면 플레이어는 생존하고 있으므로 조건이 필요없음 cout << "hp가 " << hp << "남아 생존" << endl; } }
버프 유무를 입력하여 플레이어 버프 여부 출력
#include <iostream> #include <string> using namespace std; void main() { int 방어력 = 50; int 공격력 = 70; bool 방어버프유무 = false; bool 공격버프유무 = false; cout << "방어력 : " << 방어력 << ", 공격력 : " << 공격력 << endl; cout << "방어 버프를 받을까요? (1.예 0.아니오) : "; cin >> 방어버프유무; cout << "공격 버프를 받을까요? (1.예 0.아니오) : "; cin >> 공격버프유무; if (방어버프유무 == true) { 방어력 = 방어력 + 20; cout << "머리위에 방패모양의 이펙트가 보이면서 방어력이 증가" << endl; } if (공격버프유무 == true) { 공격력 += 30; cout << "머리위에 검모양의 이펙트가 보이면서 방어력이 증가" << endl; } cout << "방어력 : " << 방어력 << ", 공격력 : " << 공격력 << endl; }
캐릭터의 레벨이 30이상이고 캐릭터 보유갯수가 5개 이상이면
"축하합니다! 이벤트에 참가하실 수 있습니다." 출력
캐릭터의 레벨이 30미만이고 캐릭터 보유갯수가 5개 이하면
"죄송합니다! 이벤트에 참가 조건이 부족합니다." 출력
#include <iostream> #include <string> using namespace std; void main() { int level; int charAe; cout << "레벨 : "; cin >> level; cout << "캐릭터보유 : "; cin >> charAe; if (level >= 30 && charAe >= 5){ cout << "축하합니다! 이벤트에 참가하실 수 있습니다." << endl; } else { cout << "죄송합니다! 이벤트에 참가 조건이 부족합니다." << endl; } // if문의 조건은 true와 false만 사용되어 bool 자료형을 사용해도 된다. bool event = (level >= 30) && (charAe >= 5); if (event){ cout << "축하합니다! 이벤트에 참가하실 수 있습니다." << endl; } else { cout << "죄송합니다! 이벤트에 참가 조건이 부족합니다." << endl; } }[문제]
플레이어의 공격 데미지를 랜덤하게 추출하시오 (1~100)
플레이어의 공격 데미지가 80~100 사이면 'Critical Hit!!" 표시를 하고
플레이어의 공격 데미지가 40~79 사이면 'Big Hit!!" 표시를 하고
플레이어의 공격 데미지가 20~39 사이면 'Nomal Hit!!" 표시를 하고
플레이어의 공격 데미지가 1~19 사이면 'Miss Hit!!" 표시를 하시오
플레이어의 공격 데미지를 맞은 몬스터의 체력도 같이 표시하고
체력이 0이하일 경우에는 사망 여부도 표시하시오.
체력이 0미만일 경우에는 체력값을 0으로 표시하시오.
(몬스터의 기본 체력을 50으로 설정하시오)
[출력결과]
플레이어가 ?? 데미지로 ?? Hit!!이 발생했습니다.
몬스터의 현재 체력은 ?? 이며 아직 생존한 상태입니다. / 사망한 상태입니다.
#include <iostream> #include <string> // 렌덤값 추출 관련 라이브러리 #include <stdio.h> #include <time.h> using namespace std; void main() { // 시간의 초로 랜덤을 추출하기 때문에 같은 초에 있을 때 같은 랜덤수가 나올 수 있다. srand((unsigned int)time(NULL)); //int damage = rand() % 경우의수; // 1~100까지의 랜덤 추출 // 100만 넣을 경우 0~99까지 추출 int damage = rand() % 100 + 1; int monsterHp = 50; cout << "플레이어의 공격은 : " << damage << endl; // 데미지 조건 if ((damage >= 80) && (damage <= 100)){ cout << "플레이어가 " << damage << " 데미지로 Critical Hit!!이 발생" << endl; } if ((damage >= 40) && (damage <= 79)){ cout << "플레이어가 " << damage << " 데미지로 Big Hit!!이 발생" << endl; } if ((damage >= 20) && (damage <= 39)){ cout << "플레이어가 " << damage << " 데미지로 Nomal Hit!!이 발생" << endl; } if ((damage >= 1) && (damage <= 19)){ cout << "플레이어가 " << damage << " 데미지로 Miss Hit!!이 발생" << endl; } /* 플레이어가 ?? 데미지로 ??이 발생 출력문자가 중복이므로 아래 처럼 바꿀수 있다. cout << "플레이어가 " << damage << " 데미지로 "; if ((damage >= 80) && (damage <= 100)){ cout << "Critical Hit!!"; } if ((damage >= 40) && (damage <= 79)){ cout << "Big Hit!!"; } if ((damage >= 20) && (damage <= 39)){ cout << "Nomal Hit!!"; } if ((damage >= 1) && (damage <= 19)){ cout << "Miss Hit!!"; } cout << "이 발생" << endl; */ // 데미지 계산 monsterHp -= damage; // 사망 여부 if (monsterHp > 0) { cout << "몬스터의 현재 채력은 " << monsterHp << " 이며 아직 생존한 상태" << endl; } else { monsterHp = 0; // -(마이너스) 값이 들어가는 것을 0으로 변경 cout << "몬스터의 현재 채력은 " << monsterHp << " 이며 사망한 상태" << endl; } }
if ~ if else
플레이어의 공격력을 입력하여 데미지별 Hit 표시
// 조건문 // if ~ else if #include <iostream> #include <string> // 렌덤값 추출 관련 라이브러리 #include <stdio.h> #include <time.h> using namespace std; void main10() { // 시간의 초로 랜덤을 추출하기 때문에 같은 초에 있을 때 같은 랜덤수가 나올 수 있다. srand((unsigned int)time(NULL)); //int damage = rand() % 경우의수; // 1~100까지의 랜덤 추출 // 100만 넣을 경우 0~99까지 추출 int damage = rand() % 100 + 1; int monsterHp = 50; cout << "플레이어의 공격은 : " << damage << endl; cout << "플레이어가 " << damage << " 데미지로 "; // 데미지 조건 // if ~ else if 조건 중에서 참이 나오면 다음 else if문을 실행하지 않고 if명령문을 빠져나온다. if ((damage >= 80) && (damage <= 100)){ cout << "Critical Hit!!"; } else if ((damage >= 40) && (damage <= 79)){ cout << "Big Hit!!"; } else if ((damage >= 20) && (damage <= 39)){ cout << "Nomal Hit!!"; } // if ~ else if 조건문 일 경우 else if 조건문을 생략하고 else만 사용해된다. else { 명령줄 } else if ((damage >= 1) && (damage <= 19)){ cout << "Miss Hit!!"; } cout << "이 발생" << endl; // 데미지 계산 monsterHp -= damage; cout << "몬스터의 현재 채력은 "; // 사망 여부 if (monsterHp > 0) { cout << monsterHp << " 이며 아직 생존한 상태" << endl; } else { monsterHp = 0; // -(마이너스) 값이 들어가는 것을 0으로 변경 cout << monsterHp << " 이며 사망한 상태" << endl; } }
댓글 0개
| 엮인글 0개
285개(1/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
285 | [Python] 동적 import - 모듈을 변수로 받아오기 | 푸딩뱃살 | 409 | 2022.10.27 10:45 |
284 | [Python] 파이썬 3.7.7과 3.9.7의 os.path.expanduser() 차이 | 푸딩뱃살 | 449 | 2022.08.18 12:22 |
283 | [Python] error: Microsoft Visual C++ 9.0 is required. | 푸딩뱃살 | 675 | 2022.08.03 13:35 |
282 | [Python] pyscript | 푸딩뱃살 | 446 | 2022.06.09 11:21 |
281 | [Python] float is / float not is | 푸딩뱃살 | 589 | 2022.03.02 15:03 |
280 | [Python] 이터널 문자열 f | 푸딩뱃살 | 826 | 2022.01.27 16:35 |
279 | [Python] is와 ==의 차이 | 푸딩뱃살 | 481 | 2021.11.25 15:54 |
278 |
[Python] Error: ImportError: file |
푸딩뱃살 | 909 | 2021.11.16 11:24 |
277 | [Python] 파이썬 디컴파일 - uncompyle6 | 푸딩뱃살 | 770 | 2021.11.10 14:46 |
276 | [Python] 파이썬 확장자 설명 | 푸딩뱃살 | 546 | 2021.11.03 14:38 |
275 | [참고] 웹 fbx 뷰어 | 푸딩뱃살 | 464 | 2021.10.19 15:46 |
274 | [Python] enumerate() | 푸딩뱃살 | 494 | 2021.10.13 14:44 |
273 | [Python] 아나콘다에서 가상 환경 | 푸딩뱃살 | 709 | 2020.11.21 00:26 |
272 | [Python] pip로 설치 때 퍼미션 에러 | 푸딩뱃살 | 1258 | 2020.06.06 17:13 |
271 | [Python] OpenCV 10-3. 이미지 Thresholding - Otsu's Binarizatio | 푸딩뱃살 | 665 | 2020.06.05 14:01 |
270 | [Python] OpenCV 10-2. 이미지 Thresholding - Adaptive Threshold | 푸딩뱃살 | 687 | 2020.06.05 13:58 |
269 | [Python] OpenCV 10-1. 이미지 Thresholding | 푸딩뱃살 | 573 | 2020.06.05 13:56 |
268 | [Python] OpenCV 9-2. 색 추적 | 푸딩뱃살 | 762 | 2020.06.02 23:29 |
267 | [Python] OpenCV 9-1. 색공간 바꾸기 | 푸딩뱃살 | 634 | 2020.06.02 23:27 |
266 | [Python] OpenCV 8-3. 이미지 비트 연산 | 푸딩뱃살 | 522 | 2020.06.02 23:21 |