[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