Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need some help with this please. The main function is already given. Implementation Implement this program in two modules (i.e., classes): ** Store **

I need some help with this please. The main function is already given.

Implementation

Implement this program in two modules (i.e., classes):

**Store** and **Toys**

## Store Module

define the following constant in the **Store** header file:

```

MAX_NUM_TOYS; //define it to 10. The maximum number of toys that could be added.

MAX_SNAME; // define it to 31. The maximum length of a store name

```

The Store class should have the following member variables:

- char m_sName;// Store name, up to MAX_SNAME size

- int m_noOfToys;//No of toys;

- int m_addToys;//no of toys added

- Toys m_toy;// statically array of toys with size MAX_NUM_TOYS

The followings are the mandatory public member functions:

- void setStore(const char* sName, int no);

This will set the store name and the number of toys that could be added to the store. For invalid value, it will set the values to an empty state.

- void setToys(const char* tname, int sku, double price,int age);

This will add the toys one at a time to the m_toy array and will keep track of the number of toys added. Toys will be added until num of added toys is less than m_noOfToys

- void display()const;

If a Store object is valid

a) prints "*" with width 60 and fill with "*", then print **m_sName** and a new line.

b) prints "*" with width 60 and fill with "*", then prints "list of the toys" and a new line.

c) prints "SKU" with width 30 and fill with empty spaces

d) prints "Age" with width 10 and fill with empty spaces

e) prints "Price" with width 11 and fill with empty spaces

f) prints "Sale" with width 10 and fill with empty spaces then a new line

g) prints all the toys information. For details see the sample output.

2) otherwise prints, "Invalid Store" then a new line.

- void find(int sku);

This method will go through the arrays of toys. It will match the received SKU number with the stored toys' SKU number to find out if the toys are on sale or not. If the number matches then it will pass **true** to the appropriate **Toys** method. After that, it will call the **calSale()** of the toys class to know the sale value.

- void setEmpty();

set the store to an empty state

## Toys Module

define the following constant in the **Toys** header file:

```

MAX_TNAME; // define it to 31. The maximum length of a Toy name

```

The Toy class should have the following member variables:

- char m_tname;// toy name, up to MAX_TNAME size

- int m_sku; //SKU number, maximum 8 digits long

- double m_price;//toy price

- int m_age;//toy according to age group

- bool m_onSale;// keep track, if toys are on sale or not

The followings are the mandatory public member functions:

- void addToys(const char* tname, int sku, double price,int age);

After checking the validity, this method will set the received values to the appropriate data members. Otherwise will be set to an empty state.

- void isSale(bool sale);

It will assign the received value to the data member m_onSale.

- void calSale();

It will decrease the toys price to 20% then the original price.

- void display()const;

If a Toy object is valid

a) prints **m_tname** with width 15, left justified and filled with empty spaces.

b) prints **m_sku** with width 10

c) prints **m_age** with width 6

d) prints **m_price** with width 12 and after the decimal point 2

digits.

e) If the toy is on sale it will print "On Sale" with width 10. Otherwise, print empty spaces with width 8.

2) otherwise prints, "Invalid Toy".

## Tester Program

```C++

/***********************************************************************

// OOP244 Workshop 3 Part2: Member Functions and Privacy

// File main.cpp

// Version 1.0

// Author Nargis Khan

// Description

// Tests Store module

//

// Revision History

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

// Name Date Reason

//

/////////////////////////////////////////////////////////////////

***********************************************************************/

#include

#include

#include"Store.h"

using namespace std;

using namespace sdds;

int main() {

Store s;

cout << "Printing invalid list of Toys" << endl;

s.setStore("****Children`s Dream store****", 2);

s.setToys(nullptr, 20304576,12.50,2);

s.setToys("Car",203045,11.50,12);

s.display();

cout << endl << "Printing valid list of Toys" << endl;

s.setStore("****Children`s Dream store****", 6);

s.setToys("Racing Car",11223344, 40.99, 8);

s.setToys("Teddy Bear", 33772346,25.99, 6);

s.setToys("Airplane", 44453466,60.99,16);

s.setToys("Doll", 55887896,45.99, 5);

s.setToys("Drone", 99221388, 90.99, 18);

s.setToys("Lego", 88224596, 65.99, 10);

s.display();

cout << endl << "Searching for toys and printing the list with sale price" << endl;

s.find(33772346);

s.find(99221388);

s.find(88224596);

s.display();

}

```

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Financial management theory and practice

Authors: Eugene F. Brigham and Michael C. Ehrhardt

12th Edition

978-0030243998, 30243998, 324422695, 978-0324422696

Students also viewed these Programming questions

Question

1. What is the basis of Rubbermaid's success?

Answered: 1 week ago