[1번 문제]
/*
계산기 기능의 Calculator 클래스를 정의해보자. 기본적으로 지니는 기능은 덧셈, 뺄셈, 곱셈 그리고 나눗셈이며, 연산을 할 때마다 어떠한 연산을
몇 번 수행했는지 기록되어야 한다. 아래의 main 함수와 실행의 예에 부함하는 Calculator 클래스를 정의하면 된다.
단, 멤버변수는 private으로, 멤버함수는 public으로 선언하자.
int main(void)
{
Calculator cal;
cal.Init();
cout << "3.2+2.4= " << cal.Add(3.2, 2.4) << endl;
cout << "3.5/1.7=" << cal.Div(3.5, 1.7) << endl;
cout << "2.2-1.5=" << cal.Min(2.2, 1.5) << endl;
cout << "4.9/1.2=" << cal.Div(4.9, 1.2) << endl;
cal.ShowOpCount();
return 0;
}
*/
#include <iostream>
using namespace std;
class Calculator
{
private:
int add;
int subtract;
int multiply;
int divide;
public:
void Init();
double Add(double, double);
double Subtract(double, double);
double Multiply(double, double);
double Divide(double, double);
void ShowOpCount();
};
void Calculator::Init()
{
add = 0;
subtract = 0;
multiply = 0;
divide = 0;
}
double Calculator::Add(double num1, double num2)
{
add++;
return num1 + num2;
}
double Calculator::Subtract(double num1, double num2)
{
subtract++;
return num1 - num2;
}
double Calculator::Multiply(double num1, double num2)
{
multiply++;
return num1*num2;
}
double Calculator::Divide(double num1, double num2)
{
divide++;
return num1 / num2;
}
void Calculator::ShowOpCount()
{
cout << "덧셈 연산 횟수: " << add << endl << "뺄셈 연산 횟수: " << subtract << endl;
cout << "곱셈 연산 횟수: " << multiply << endl << "나눗셈 연산 횟수: " << divide << endl;
}
int main(void)
{
Calculator cal;
cal.Init();
cout << "3.2+2.4= " << cal.Add(3.2, 2.4) << endl;
cout << "3.5/1.7=" << cal.Divide(3.5, 1.7) << endl;
cout << "2.2-1.5=" << cal.Subtract(2.2, 1.5) << endl;
cout << "4.9/1.2=" << cal.Divide(4.9, 1.2) << endl;
cal.ShowOpCount();
return 0;
}
[2번 문제]
/*
문자열 정보를 내부에 저장하는 printer라는 이름의 클래스를 디자인하자.
이 클래스의 두 가지 기능은 다음과 같다
1.문자열 저장
2.문자열 출력
아래의 main 함수와 실행의 예에 부합하는 Printer 클래스를 정의하되,
이번에도 역시 멤버변수는 private, 멤버함수는 public으로 선언하자
int main(void)
{
Printer pnt;
pnt.SetString("Hello world!");
pnt.ShowString();
pnt.SetString("I love C++");
pnt.ShowString();
return 0;
}
*/
#include <iostream>
#include <cstring>
using namespace std;
class Printer
{
private:
char str[50];
public:
void SetString(char *string);
void ShowString();
};
void Printer::SetString(char *string)
{
strcpy(str, string);
}
void Printer::ShowString()
{
cout << str << endl;
}
int main(void)
{
Printer pnt;
pnt.SetString("Hello world!");
pnt.ShowString();
pnt.SetString("I love C++");
pnt.ShowString();
return 0;
}
개발 환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
[참고] 열혈 C++ 프로그래밍 윤성우 저
'C++ > 열혈 C++ 프로그래밍(윤성우 저)' 카테고리의 다른 글
열혈 C++ 프로그래밍 4-2 문제 (0) | 2017.05.30 |
---|---|
열혈 C++ 프로그래밍 4-1 문제 (0) | 2017.05.30 |
열혈 C++ 프로그래밍 3-1 문제 (0) | 2017.05.29 |
열혈 C++ 프로그래밍 2-4 문제 (0) | 2017.05.28 |
열혈 C++ 프로그래밍 2-3 문제 (10) | 2017.05.28 |