회원 로그인
|
조건문 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개(8/15페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
145 | [C/C++] 배열 | 푸딩뱃살 | 2005 | 2015.11.03 09:58 |
144 | [C/C++] 클래스 | 푸딩뱃살 | 2378 | 2015.11.03 09:58 |
143 | [C/C++] 함수 사용 팁 | 푸딩뱃살 | 1958 | 2015.11.03 09:54 |
142 | [C/C++] 가위바위보 게임 3 (함수 사용) | 푸딩뱃살 | 3172 | 2015.11.02 13:45 |
141 | [C/C++] 함수 | 푸딩뱃살 | 1806 | 2015.11.02 13:44 |
140 | [C/C++] 2차원(2중) for문 | 푸딩뱃살 | 1959 | 2015.10.30 17:59 |
139 | [C/C++] 상수 | 푸딩뱃살 | 1404 | 2015.10.30 17:58 |
138 | [C/C++] 가위바위보 게임 2 | 푸딩뱃살 | 1645 | 2015.10.30 17:32 |
137 | [C/C++] continue문 | 푸딩뱃살 | 1532 | 2015.10.30 16:01 |
136 | [C/C++] break문 | 푸딩뱃살 | 1667 | 2015.10.30 15:43 |
135 | [C/C++] 반복문 while와 for 비교 | 푸딩뱃살 | 2492 | 2015.10.30 15:42 |
134 | [C/C++] 반복문 for | 푸딩뱃살 | 1823 | 2015.10.30 14:16 |
133 | [C/C++] 반복문 while | 푸딩뱃살 | 2255 | 2015.10.30 14:13 |
132 | [C/C++] 반복문 하기 전 스크립트 | 푸딩뱃살 | 1971 | 2015.10.30 14:10 |
131 | [C/C++] 조건문 switch | 푸딩뱃살 | 2071 | 2015.10.30 10:56 |
130 | [C/C++] 가위바위보 게임 | 푸딩뱃살 | 1744 | 2015.10.29 17:30 |
>> | [C/C++] 조건문 if ~ else | 푸딩뱃살 | 1969 | 2015.10.29 15:08 |
128 | [C/C++] 형 변환 | 푸딩뱃살 | 1653 | 2015.10.29 12:02 |
127 | [C/C++] 대입 연산자 | 푸딩뱃살 | 1565 | 2015.10.29 12:00 |
126 | [C/C++] 증가감 연산자 | 푸딩뱃살 | 1576 | 2015.10.29 11:57 |