C++/열혈 C++ 프로그래밍(윤성우 저)

열혈 C++ 프로그래밍 3-2 문제

꾸준함. 2017. 5. 29. 23:44

[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++ 프로그래밍 윤성우 저


반응형