Question: I want a unique c++ problem. Create derived class called FizzBuzzExt from FizzBuzz generator class. FizzBuzz class is represented below combined with main class. All

I want a unique c++ problem.

Create derived class called FizzBuzzExt from FizzBuzz generator class. FizzBuzz class is represented below combined with main class.

All the thing in bold letters are supposed to be done in FizzBuzzExt

Define a struct with two parts: an integer factor (3, 5, 11, etc.) and a string associated (fizz, buzz, biff, etc)

create a private attribute array of these structs

~ New methods:

clear()

addRule()

run()

menu()

The user should be presented with a menu that allows them to clear the game, run the game, add a rule, set a new limit, or quit, whenever they wish, as many times as they wish (of course, they'll only be able to quit once per game).

Please prepare three files, a header file for FizzBuzz ( Already provided), a header file for FizzBuzzExt, and a cpp file with the main function (modify main).

FIZZBUZZ with main( please separate these files )

// ------------------------------------------------------------------------

#include

using namespace std;

class FizzBuzz

{

// private data members

private:

int limit; // stores the maximum output value

// public methods

public:

FizzBuzz();

void run();

void setLimit();

};

// ------------------------------------------------------------------------

//Constructor which sets limit to its default value of 100

FizzBuzz::FizzBuzz()

{

limit = 100;

}

// ------------------------------------------------------------------------

//Function to play the stored game of FizzBuzz

void FizzBuzz::run()

{

for(int i = 1; i <= limit; i++){

if(i % 3 == 0 && i % 5 == 0) // The number is divisible by both 3 and 5

cout << "FizzBuzz" << endl;

else if(i % 3 == 0) // The number is only divisible by 3

cout << "Fizz" << endl;

else if(i % 5 == 0) // The number is only divisible by 5

cout << "Buzz" << endl;

else cout << i << endl;

}

}

// ------------------------------------------------------------------------

// Asks the user for a new value of limit and sets it replacing

// the default value of limit

void FizzBuzz::setLimit()

{

int val;

cout << " Enter the new limit of the game: ";

cin >> val;

limit = val; // new value of limit is set

cout << "New limit is set to " << limit << endl;

cout << " "; // moves the cursor to a newline

}

int main()

{

FizzBuzz f; // an object of the class is created

int choice;

// Menu

do

{

cout << "**********Menu**********" << endl << endl;

cout << "1. Run the game" << endl << "2. Set the limit value"

<< endl << "3. Quit" << endl;

cout << endl << "Enter your choice: ";

cin >> choice;

switch(choice)

{

case 1:

cout << endl;

f.run();

cout << endl;

break;

case 2:

f.setLimit();

break;

case 3:

cout << endl << "The game is quitting, Goodbye." << endl;

exit(0);

default:

cout<< "Wrong Choice. Try Again."<< endl << endl;

break;

}

// while condition is true i.e., until the user wants to quit the game,

// the game will continue.

while(1);

return 0

}

Combine and provide 3 files and Show Output !

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!