Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a new class called Calculator, which should be implemented in two files:

ID: 3595949 • Letter: C

Question

Create a new class called Calculator, which should be implemented in two files: Calculator.h and Calculator.cpp. header. A calculator should be able to add, subtract, multiply, divide and clear. Test your calculator by writing a main program incorporating the test code below: All of the implementation should be in the cpp file and only the declarations in the Calculator mycalc; mycalc.clear) mycalc.add (4.52); mycalc.add (3.789); mycalc.divide(2.6); mycalc.multiply(3.12) mycalc.subtract (2.678) cout

Explanation / Answer

//Calculator.h

#include<iostream>

#include<stack>

using namespace std;

class Calculator

{

double number;

stack<double> st; //stack is required to undo results

public:

Calculator();

Calculator(double num);

void add(double num);

void subtract(double num);

void multiply(double num);

void divide(double num);

double display();

Calculator operator+(Calculator &obj);

void undo();

void clear();

};

--------------------------------------------

//Calculator.cpp

#include"Calculator.h"

Calculator::Calculator()

{

number = 0;

}

Calculator::Calculator(double num)

{

number = num;

}

void Calculator::add(double num)

{

number += num;

//push items onto stack

st.push(number);

}

void Calculator::subtract(double num)

{

number -= num;

//push items onto stack

st.push(number);

}

void Calculator::multiply(double num)

{

number *= num;

//push items onto stack

st.push(number);

}

void Calculator::divide(double num)

{

number /= num;

//push items onto stack

st.push(number);

}

double Calculator::display()

{

return number;

}

Calculator Calculator::operator+(Calculator &obj)

{

number += obj.number;

st.push(number);

return (*this);

}

void Calculator::clear()

{

number = 0;

}

void Calculator::undo()

{

number = st.top();

st.pop();

}

-------------------------------------------------------

//main driver.cpp

#include"Calculator.h"

#include<iostream>

using namespace std;

int main()

{

Calculator mycalc;

mycalc.clear();

mycalc.add(4.52);

mycalc.add(3.789);

mycalc.divide(2.6);

mycalc.multiply(3.12);

mycalc.subtract(2.678);

cout << mycalc.display() << endl;

mycalc.clear();

mycalc.add(5.0);

cout << mycalc.display() << endl;

Calculator calc1;

cout << calc1.display() << endl;

Calculator calc2(5);

cout << calc2.display() << endl;

Calculator calc3(7);

calc1 = calc2 + calc3;

cout << calc1.display() << endl;

mycalc.undo();

mycalc.undo();

cout << mycalc.display() << endl;

}

---------------------------------------------------------------------------------------------------------------------------------------------

/*output

7.2928

5

0

5

12

7.2928

*/

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote