Question: I am having trouble with this problem. It keeps giving me the wrong outputs. Please help! Define a class counterType to implement a counter. Your

I am having trouble with this problem. It keeps giving me the wrong outputs. Please help!

Define a class counterType to implement a counter. Your class must have a private data member counter of type int. Define a constructor that accepts a parameter of type int and initializes the counter data member. Add functions to:

Set counter to the integer value specified by the user

Initialize counter to 0

Return the value of counter with a function named getCounter

Increment and decrement counter by one.

Print the value of counter using the print function

The value of counter must be nonnegative.

My code:

counterType.h

class counterType { private: int counter; public: counterType(); counterType(int counter); void print(); void incrementCounter(); void decrementCounter(); void setCounter(int c); int getCounter(); };

counterTypeImp.cpp

#include #include "counterType.h" using namespace std;

counterType::counterType(int counter) { setCounter(counter); }

counterType::counterType() { counter = 0; }

void counterType::setCounter(int c) { cout << "Enter a positive number: " << endl; cin >> c; if (c > 0) { c = counter; } else { cout << "Please enter a positive number" << endl; } }

int counterType::getCounter() { return counter; }

void counterType::incrementCounter() { counter++; }

void counterType::decrementCounter() { counter--; }

void counterType::print() { cout << counter << endl; }

main.cpp (PROVIDED BY PROFESSOR)

//Main program #include #include "counterType.h"

using namespace std;

int main() { counterType counter1; counterType counter2(5);

counter1.print();

cout << endl;

counter1.incrementCounter(); cout << "After Increment counter1: " << counter1.getCounter() << endl;

cout << "Counter2 = " << counter2.getCounter() << endl;

counter2.decrementCounter(); cout << "After decrement counter2 = " << counter2.getCounter() << endl;

counter1.setCounter(-6); cout << "After resetting counter1: " << counter1.getCounter() << endl;

return 0; }

The results I keep getting:

Enter a positive number: 5 0

After Increment counter1: 1 Counter2 = 4197568 After decrement counter2 = 4197567 Enter a positive number:

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!