[C++] 덧셈연산, 몬스터생성, 사칙연산계산기만들기
2022. 6. 2. 21:37ㆍ코딩 1막 <C++개념편>/코딩 1막 <C++응용편>
728x90
1. <입력기능이 들어간 덧셈연산을 하는 Sum함수>
#include <iostream>
#include <string>
using namespace std;
void Sum(float numA, float numB)
{
cout << numA + numB << endl;
}
void main()
{
int inputA;
int inputB;
while (true)
{
cout << "첫번째 숫자를 입력받으세요 : " << endl;
cin >> inputA;
cout << "첫번째 숫자를 입력받으세요 : " << endl;
cin >> inputB;
cout << "계산결과" << endl;
Sum(inputA, inputB);
cout << endl;
}
}
2. <입력기능이 들어간 몬스터 생성>
#include <iostream>
#include <string>
using namespace std;
struct Monster
{
string name;
string dropItem;
int hp;
int atk;
int level;
void PrintInfo()
{
cout << "-----------------------" << endl;
cout << "몬스터 이름 : " << name << endl;
cout << "레벨 : " << level << endl;
cout << "체력 : " << hp << endl;
cout << "공격력 : " << atk << endl;
cout << "-----------------------" << endl;
}
void SetInfo(string _name, string _dropItem, int _hp, int _atk, int _level)
{
name = _name;
dropItem = _dropItem;
hp = _hp;
atk = _atk;
level = _level;
}
void Attack()
{
cout << name << "이 " << atk << "공격력으로 공격한다" << endl;
}
void Hit(int damage)
{
hp -= damage;
cout << name << "에게 데미지" << damage << "를 입혔다" << endl;
cout << name << "의 현재 체력" << hp << endl;
if (hp <= 0)
{
Die();
}
}
void Die()
{
cout << name << "은 죽었다" << endl;
DropItem();
}
void DropItem()
{
cout << dropItem << "을 떨어트렸다" << endl;
}
};
Monster MonsterMaker()
{
Monster temp;
cout << "이름을 입력하시오 : ";
cin >> temp.name;
cout << "드랍 아이템을 입력하시오 : ";
cin >> temp.dropItem;
cout << "체력을 입력하시오 : ";
cin >> temp.hp;
cout << "공격력을 입력하시오 : ";
cin >> temp.atk;
cout << "레벨을 입력하시오 : ";
cin >> temp.level;
return temp;
}
void main()
{
Monster monster = MonsterMaker();
monster.PrintInfo();
}
3. <입력기능이 들어간 사칙연산 계산기 만들기>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <time.h>
using namespace std;
//5. 계산기 구조체를 만들고, 기능으로서 사칙연산 함수를 가지고 처리하시오.
struct Calculation
{
float pi = 3.141592653589793238462643383279502884197169399375105820;
float prevResult;
void Sum(float numA, float numB)//더하기
{
cout << numA << " + " << numB << " = " << numA + numB << endl;
}
void Sub(float numA, float numB)//빼기
{
cout << numA << " - " << numB << " = " << numA - numB << endl;
}
void Div(float numA, float numB)//나누기
{
cout << numA << " / " << numB << " = " << numA / numB << endl;
}
void Mul(float numA, float numB)//곱하기
{
cout << numA << " X " << numB << " = " << numA * numB << endl;
}
void Abs(float numA)//절대값
{
if (numA > 0)
{
cout << numA << " 의 절대 값은 " << numA << " 입니다. " << endl;
}
else if (numA < 0)
{
cout << numA << " 의 절대 값은 " << numA * -1 << " 입니다. " << endl;
}
}
void Clamp(float value, float min, float max)//비교
{
if (min > value)
{
value = min;
}
else if (max < value)
{
value = max;
}
cout << value << endl;
}
void Calc(float numA, float numB, char sign)
{
if (sign == '+')
{
Sum(numA, numB);
}
else if (sign == '-')
{
Sub(numA, numB);
}
else if (sign == '/')
{
Div(numA, numB);
}
else if (sign == '*' || sign == 'X' || sign == 'x')
{
Mul(numA, numB);
}
else
{
cout << "잘못된 수식 입니다" << endl;
}
}
};
//2. 1번의 더하는 코드를 함수로 만드시오.
void Sum(float numA, float numB)
{
cout << numA << " + " << numB << " = " << numA + numB << endl;
}
//3. 2번에 이어 사칙연산 하는 함수들을 만드시오(+, -, *, /)
void Sub(float numA, float numB)
{
cout << numA << " - " << numB << " = " << numA - numB << endl;
}
void Div(float numA, float numB)
{
cout << numA << " / " << numB << " = " << numA / numB << endl;
}
void Mul(float numA, float numB)
{
cout << numA << " X " << numB << " = " << numA * numB << endl;
}
void Calc(float numA, float numB, char sign)
{
if (sign == '+')
{
Sum(numA, numB);
}
else if (sign == '-')
{
Sub(numA, numB);
}
else if (sign == '/')
{
Div(numA, numB);
}
else if (sign == '*' || sign == 'X' || sign == 'x')
{
Mul(numA, numB);
}
else
{
cout << "잘못된 수식 입니다" << endl;
}
}
void main()
{
float inputA = -999;
float inputB = -999;
char sign;
bool ac = true;
Calculation cal;
//1. 두개의 수를 입력받아서 더하는 코드를 짜시오.
/*cin >> inputA;
cin >> inputB;
cout << inputA << " + " << inputB << " = " << inputA + inputB << endl;*/
//두개의 수 뿐 아닌 부호를 입력 받아 부호에 맞는 함수를 호출하시오.
cout << "계산식을 입력하세요" << endl;
cin >> inputA >> sign >> inputB;
/*Calc(inputA, inputB, sign);*/
cal.Calc(inputA, inputB, sign);
}
728x90
'코딩 1막 <C++개념편> > 코딩 1막 <C++응용편>' 카테고리의 다른 글
[C++] 숫자야구 게임 (0) | 2022.06.03 |
---|---|
[C++] 가위바위보 게임 (0) | 2022.06.02 |
[C++] 멤버함수응용 : monster 사냥 (0) | 2022.06.02 |
[C++] 외부함수들을 멤버함수로 변환하고 비교해보기(구조체) (0) | 2022.06.02 |
[C++] 특정한 값을 출력하는 구조체를 만들어보자 (0) | 2022.06.02 |