카테고리 없음

[C++] 클래스로 사칙연산 계산기 구현

s뽈록이s 2013. 7. 23. 11:54
class calc
{
	int su1, su2;
public :
	int add(int a, int b);
	int min(int a, int b);
	int mul(int a, int b);
	double div(int a, int b);
};

int calc::add(int a, int b)
{
	return a + b;
}

int calc::min(int a, int b)
{
	return a - b;
}

int calc::mul(int a, int b)
{
	return a * b;
}

double calc::div(int a, int b)
{
	return (double)a / (double)b;
}

void main()
{
	calc cal;
	cout << "cal.add(10, 19) = " << cal.add(10, 19) << endl;
	cout << "cal.min(21, 5) = " << cal.min(21, 5) << endl;
	cout << "cal.mul(4, 12) = " << cal.mul(4, 12) << endl;
	cout << "cal.div(7, 2) = " << cal.div(7, 2) << endl;
}

프로그램 실행화면


클래스를 사용해서 사칙연산이 가능한 계산기를 만들어 보았다. 클래스 안에 있는 맴버함수들은 클래스 밖에서 구현해 놓았다.


이렇게 만들어야지 클래스만 보았을 때 어떤 기능이 있는지 한눈에 들어오기 때문이다. 프로그램의 내용은 간단하다.


add 함수에서는 두 매개변수를 더한 후 return, min 함수에서는 두 매개변수를 뺄셈한 후 return, mul함수에서는 두 매개변수를 곱한 후 return, div 함수에서는 두 매개변수를 나눈 후 return 해준다.


나누기에서만 소수점이 발생하므로 double로 캐스팅하여 계산해 주어야 한다. 그렇지 않으면 소수점 자리가 짤려버려 정확한 값이 출력되지 않는다. 쉬운 녀석들부터 클래스로 구현하는 연습을 해보는 것이 좋을 것 같다.