반응형
배운 것 요약 : #pragma region, if, if else, 사칙연산, switch
보완할 내용 :
오늘의 과제 :
과제 1. 학생의 전체 평균에 대한 학점을 출력해라.
과제 2. 계절 출력하기
과제 3. 몬스터 vs 플레이어
#pragma region 코드 블럭을 형성하는 명령어 . 사이 내용 접었다 펼치기 가능 , 가독성이 좋아짐
#include<iostream>
int main()
{
#pragma region Print
//hihi;
//전처리기 이고 접었다 펼치기 가능
#pragma endregion
}
if문 사용하기
#include<iostream>
int main() {
int num = 10;
if (num >= 10)
{
std::cout << "실행" << std::endl;
std::cout << "num값은:" << num << std::endl;
}
}
if else 사용하기
#include<iostream>
int main() {
int number = 20;
if (number == 50) {
std::cout << " 만족";
}
else {
std::cout << " 거짓";
}
}
std::cin 활용하여 변수에 값 담아서 해당 값으로 if 문 사용하기
#include<iostream>
int main() {
int age;
std::cin >> age;
if (age > 25 && age << 30) {
}
else {
std::cout << "나이 많음";
}
}
두 개의 정수를 입력 받아 사칙연산 하기
#include<iostream>
int main() {
int inputa, inputb, choice;
std::cin >> inputa;
std::cin >> inputb;
std::cout << "1번 더하기 2번 빼기 3번 곱하기 4번 나누기" << std::endl;
std::cin >> choice;
if (choice == 1) std::cout << inputa + inputb << "더하기" << std::endl;
else if (choice == 2) std::cout << inputa - inputb << "빼기" << std::endl;
else if (choice == 3) std::cout << inputa * inputb << "곱하기" << std::endl;
else if (choice == 4) std::cout << inputa / inputb << "나누기" << std::endl;
}
두 개의 정수를 입력 받아서 두 수의 차를 출력해라
단 입력된 숫자가 순서에 상관없이 무조건 큰 수에서 작은수를 뺀 결과를 출력하라
#include<iostream>
int inputNum, inputNum1,res;
//입력
std::cout << "정수를 2개 입력 하세요";
std::cin >> inputNum;
std::cin >> inputNum1;
//계산
res = (inputNum > inputNum1) ? inputNum - inputNum1 : inputNum1 - inputNum ;
//출력
std::cout << "첫 번째 연산" << res;
//if (inputNum >= inputNum1) {
// std::cout << inputNum - inputNum1;
//}
//else {
// std::cout << inputNum1 - inputNum;
//}
}
switch는 다양한 조건을 처리할때 유용하다
switch는 동등한 value의 조건을 판단할 때
case는 일치하는 값으로 분기처리
#include<iostream>
int main() {
std::cout << "디아블로에 온 것을 환영한다";
std::cout << "1. 전사 2.법사 3.바바리안";
int selectNum;
std::cin >> selectNum;
switch (selectNum)
{
case 1:
std::cout << "나는 전사";
break;
//break구문은 나를 감싸고 있는 중괄호의 switch를 빠져 나오는 특징이 있음.
case 2:
std::cout << "나는 법사";
break;
case 3:
std::cout << "나는 바바리안";
break;
default:
break;
}
}
switch 활용
#include <iostream>
int main() {
int jobselect;
int skillselect;
std::cout << "직업pick 1.전사 2.마법사.3 궁수";
std::cin >> jobselect;
switch (jobselect) {// 이 스위치는 직업을 선택
case 1:
std::cout << "전사를 선택함.어떤 공격을 하겠음? 1. 강타 2. 내려찍기:";
std::cin >> skillselect;
switch (skillselect) {
case 1:
std::cout << "전사가 공격함";
break;
case 2:
std::cout << "전사가 내려찍음";
break;
default:
break;
}
break;
case 2:
std::cout << "법사를 선택함.어떤 공격을 하겠음? 1. 매직클로 2.달팽이 던지기:";
std::cin >> skillselect;
switch (skillselect) {
case 1:
std::cout << "매직클로 공격함";
break;
case 2:
std::cout << "달팽이 던지기";
break;
default:
break;
}
break;
case 3:
std::cout << "궁수 선택함.어떤 공격을 하겠음? 1. 한발 2.두발:";
std::cin >> skillselect;
switch (skillselect) {
case 1:
std::cout << "한 발 공격함";
break;
case 2:
std::cout << "두 발 공격함";
break;
default:
break;
}
break;
default:
break;
}
}
- 과제 1.
- 학생의 전체 평균에 대한 학점을 출력해라.
- 90점 이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 60점 이상이면 D, 나머지는 F....
- 과목은 3개 (국, 영, 수)
#include<iostream>
#include<string>
int main() {
int korscore, engscore, mathscore, avg;
std::string res;
std::cout << "국어 점수를 입력하세요 : ";
std::cin >> korscore;
std::cout << "영어 점수를 입력하세요 : ";
std::cin >> engscore;
std::cout << "수학 점수를 입력하세요 : ";
std::cin >> mathscore;
avg = (korscore + engscore + mathscore) / 3;
std::cout << avg << std::endl;
res = (avg >= 90) ? "A" :
(avg >= 80) ? "B" :
(avg >= 70) ? "C" :
(avg >= 60) ? "D" : "F";
std::cout << res;
}
과제 2.
- 계절 출력하기 // 봄(3~5), 여름(6~8), 가을(9~11), 겨울(12~2)
- 예를들어 3을 입력하면 "봄이에요 여러분~" 이런거 출력하기
#include <iostream>
int main() {
int imonth;
std::cout << "1~12 범위의 정수 하나를 입력하세요!" << std::endl;;
std::cin >> imonth;
if (imonth < 3 || imonth == 12) {
std::cout << imonth << "월은 겨울입니다 !" << std::endl;;
main();
}
else if (imonth < 6) {
std::cout << imonth << "월은 봄입니다 !" << std::endl;;
main();
}
else if (imonth < 9) {
std::cout << imonth << "월은 여름입니다 !" << std::endl;;
main();
}
else if (imonth < 12) {
std::cout << imonth << "월은 가을입니다 !" << std::endl;;
main();
}
else {
std::cout << "올바른 숫자를 입력해 주세요" << std::endl;
main();
}
}
과제 3.
- 플레이어 vs 몬스터
- 플레이어가 몬스터를 때릴려면 몬스터가 살아있어야 (몬스터 hp 1이상인지 체크),
- 몬스터가 살아있으면 공격을 할 수 있음(1 이상이라면).
- 플레이어와 몬스터는 스텟(HP)과 공격력(STR)을 보유(초기화)
- 턴 진행은 키입력을 받아 공격
- 턴 진행 시 플레이어 선 공격 후 몬스터 후 공격
- 턴 종료 후 몬스터의 hp를 체크 하고 0 이하면 종료
#include <iostream>
#include <string>
#include <stdlib.h>
int main() {
int playerHp = 100;
int playerStr = 30;
int monsterHp = 100;
int monsterStr = 20;
int turn = 0;
int inputNum;
std::string turnstring = "턴 입니다.\n";
std::string pname = "플레이어";
std::string mname = "몬스터";
std::string pstat = "\n\n============ "+ pname +" 기본 스텟 =========== \n| " + pname + "체력 :";
std::string mstat = "\n\n============ " + mname + " 기본 스텟 ============ \n| " + mname + "체력 :";
std::string endPush = " | \n=========================================== \n\n\n\n";
std::cout << pstat << playerHp << endPush << std::endl;
std::cout << mstat << monsterHp << endPush << std::endl;
std::cout << "몬스터 공격하기 숫자 1 입력 : " << std::endl;
std::cin >> inputNum;
if (inputNum == 1) {
monsterHp -= playerStr;
playerHp -= monsterStr;
turn = ++turn;
system("cls");
std::cout << pstat << playerHp << endPush << std::endl;
std::cout << mstat << monsterHp << endPush << std::endl;
std::cout << turn << turnstring;
if (monsterHp > 0) {
std::cout << "몬스터 공격하기 숫자 1 입력 : " << std::endl;
std::cin >> inputNum;
monsterHp -= playerStr;
playerHp -= monsterStr;
turn = ++turn;
system("cls");
std::cout << pstat << playerHp << endPush << std::endl;
std::cout << mstat << monsterHp << endPush << std::endl;
std::cout << turn << turnstring;
if (monsterHp > 0) {
std::cout << "몬스터 공격하기 숫자 1 입력 : " << std::endl;
std::cin >> inputNum;
monsterHp -= playerStr;
playerHp -= monsterStr;
turn = ++turn;
system("cls");
std::cout << pstat << playerHp << endPush << std::endl;
std::cout << mstat << monsterHp << endPush << std::endl;
std::cout << turn << turnstring;
if (monsterHp > 0) {
std::cout << "몬스터 공격하기 숫자 1 입력 : " << std::endl;
std::cin >> inputNum;
monsterHp -= playerStr;
playerHp -= monsterStr;
if (monsterHp < 1) monsterHp = 0;
turn = ++turn;
system("cls");
std::cout << pstat << playerHp << endPush << std::endl;
std::cout << mstat << monsterHp << endPush << std::endl;
std::cout << turn << turnstring;
if (monsterHp < 1) std::cout << "end!!!!!!!!!!!!!!!!!!" << std::endl;
}
else {
std::cout << "몬스터 사망 게임 끝";
}
}
else {
std::cout << "몬스터 사망 게임 끝";
}
}
else {
std::cout << "몬스터 사망 게임 끝";
}
}
}
반응형
'정리필요' 카테고리의 다른 글
C++ 포인터와 참조자를 함수의 매개변수로 사용하면? (0) | 2024.03.01 |
---|---|
C++ 구조체의 이해, 필요성, 생성방법 정리 (2) | 2024.02.28 |
C++ 2중 For문 사용해서 숫자 야구 게임 하기. (1) | 2024.02.25 |
C++ while 문 사용해서 컴퓨터와 가위바위보 하기 (0) | 2024.02.22 |
c++ 자료형 / 비트 연산자 등 정리 (0) | 2024.02.20 |