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

CSCI/CMPE 2380 Assignment 4 (100 pts) Create a new class called Calculator, whic

ID: 3886773 • Letter: C

Question

CSCI/CMPE 2380 Assignment 4 (100 pts) Create a new class called Calculator, which should be implemented in two files: Calculator.h and Calculator.cpp.  All of the implementation should be in the cpp file and only the declarations in the 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: 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; // prints out "7.2928" mycalc.clear(); mycalc.add(5.0); cout << mycalc.display() << endl; // prints out "5" //advanced stuff #1: add a constructor Calculator calc1; cout << calc1.display() << endl; //prints out 0 //advanced stuff #2: add a parameterized constructor Calculator calc2(5); cout << calc2.display() << endl; //prints out 5 //advanced stuff #3: Define calculator addition (overload the '+' operator) Calculator calc3(7); calc1 = calc2 + calc3; cout << calc1.display() << endl; //prints out 12 //advanced stuff #4 (Bonus 10): Create an 'undo' method for the calculator mycalc.undo(); mycalc.undo(); cout << mycalc.display()<< endl; //prints out 7.2928

Explanation / Answer

#include <iostream>

using namespace std;

void showMenu ();

int getOption();

int getNumbers();

int addNumbers();

int divideNumbers();

int subtractNumbers();

int multiplyNumbers();

void displayResults();

void showMenu ()

{

cout<<" 1. Select 1 to add two numbers."<<endl;

cout<<" 2. Select 2 to divide two numbers. " <<endl;

cout<<" 3. Select 3 to subtract two number. " <<endl;

cout<<" 4. Select 4 to multiply two number. " <<endl;

}

int getOption (int selection)

{

cin>>selection;

return selection;

}

void getNumbers(int& num1, int& num2)

{

cout<<"Enter two numbers: ";

cin>>num1 >>num2;

}

int addNumbers(int num1, int num2, int& sum)

{

sum=num1+num2;

return sum;

}

int divideNumbers(int num1, int num2, int& sum)

{

sum=num1/num2;

return sum;

}

int subtractNumbers(int num1, int num2, int& sum)

{

sum=num1-num2;

return sum;

}

int multiplyNumbers(int num1, int num2, int& sum)

{

sum=num1 * num2;

return sum;

}

void displayResults(int num1, int num2, int& sum)

{

cout<<num1 << " + " <<num2 << " = " <<sum <<endl;

}

int main ()

{

int a=0;

int num1;

int num2;

int Result;

showMenu();

getOption(a);

getNumbers(num1, num2);

addNumbers(num1, num2, Result);

divideNumbers(num1, num2, Result);

subtractNumbers(num1, num2, Result);

multiplyNumbers(num1, num2, Result);

displayResults(num1, num2, Result);

system("pause");

}