#include <iostream>
#include <iomanip>
#pragma warning(disable:4996)
using std::cin;
using std::cout;
using std::endl;
#define COUNT 4
class Calculator
{
public:
int count[COUNT] = { 0 };
inline int add(int n1, int n2);
inline int sub(int n1, int n2);
inline int mul(int n1, int n2);
inline int div(int n1, int n2);
void displayCount() const;
};
inline int Calculator::add(int n1, int n2)
{
count[0]++;
return n1 + n2;
}
inline int Calculator::sub(int n1, int n2)
{
count[1]++;
return n1 - n2;
}
inline int Calculator::mul(int n1, int n2)
{
count[2]++;
return n1 * n2;
}
inline int Calculator::div(int n1, int n2)
{
count[3]++;
return n1 / n2;
}
{
count[4]++;
double re = 1;
for (int i = 1; i <= n2; i++)
{
re *= n1;
}
return re;
}
double Calculator::fact(int n1)
{
count[5]++;
double re = 1;
for (int i = 1; i <= n1; i++)
{
re *= i;
}
return re;
}
void Calculator::displayCount() const
{
const char* opName[OP_COUNT] = { "덧셈", "뺄셈", "곱셈", "나눗셈"};
cout << "연산별 실행 수" << endl;
cout << "--------------" << endl;
for (int i = 0; i < COUNT; i++)
{
cout << opName[i] << ": " << count[i] << endl;
}
}
int main()
{
Calculator cal;
cout << std::fixed << std::setprecision(0);
cout << cal.add(5, 3) << endl;
cout << cal.sub(15, 3) << endl;
cout << cal.mul(5, 23) << endl;
cout << cal.sub(5, 33) << endl;
cal.displayCount();
return 0;
}