reate an Inventory class named, Inventory.cpp, that can hold information and calculate data for items in a retail store’s inventory. The class should have the following private member variables: Variable Name Description itemNumber An integer that holds the item’s item number. quantity An integer for holding the quantity of the items on hand. cost A double for holding the wholesale per-unit cost of the item totalCost A double for holding the total inventory cost of the item (calculated as quantity times cost). The class should have the following public member functions: Member Function Description Default Constructor Sets all the member variables to 0. Constructor #2 Accepts an item’s number, cost, and quantity as arguments. The function should copy these values to the appropriate member variables. setItemNumber Accepts an integer argument that is copied to the itemNumber member variable. setQuantity Accepts an integer argument that is copied to the quantity
Create an Inventory class named, Inventory.cpp, that can hold information and calculate
data for items in a retail store’s inventory.
The class should have the following private member variables:
Variable Name Description
itemNumber An integer that holds the item’s item number.
quantity An integer for holding the quantity of the items on hand.
cost A double for holding the wholesale per-unit cost of the item
totalCost A double for holding the total inventory cost of the item
(calculated as quantity times cost).
The class should have the following public member functions:
Member Function Description
Default Constructor Sets all the member variables to 0.
Constructor #2 Accepts an item’s number, cost, and quantity as arguments.
The function should copy these values to the appropriate
member variables.
setItemNumber Accepts an integer argument that is copied to the
itemNumber member variable.
setQuantity Accepts an integer argument that is copied to the quantity
member variable.
setCost Accepts a double argument that is copied to the cost
member variable.
setTotalCost Calculates the total inventory cost for the item (quantity
times cost) and stores the result in totalCost.
getItemNumber Returns the value in itemNumber.
getQuantity Returns the value in quantity.
getCost Returns the value in cost.
getTotalCost Returns the value in totalCost.
Test the class with the main program, Program7.cpp, provided. You are allowed to modify only line 149. If you modify any other part of the program, you will not receive credit for Program 7.
Do not accept negative values for item number, quantity, or cost
![### C++ Program Analysis: Main Function Example
In this example of a C++ program, we will go through the main function to understand its components and how it works. This helps in laying a foundation for writing structured C++ applications.
```cpp
int main()
{
cout << fixed
<< showpoint
<< setprecision(2);
developerInfo();
Inventory stockItem1;
Inventory stockItem2(124, 12, 84.95);
testInventory(stockItem1, stockItem2);
holdScreen();
return 0;
}
```
#### Breakdown of the Code:
1. **Setting Output Precision**:
```cpp
cout << fixed
<< showpoint
<< setprecision(2);
```
- `cout << fixed`: Ensures that the floating-point numbers are displayed in fixed-point notation.
- `showpoint`: Forces the output to show the decimal point even if the number is an integer (e.g., `5.00` instead of `5`).
- `setprecision(2)`: Sets the decimal precision to 2 places only (e.g., `84.95`).
2. **Developer Information Function**:
```cpp
developerInfo();
```
- Here, a function named `developerInfo()` is called. This function typically displays information about the developer or programmer of the application. Details of the function are not provided in this snippet.
3. **Inventory Objects**:
```cpp
Inventory stockItem1;
Inventory stockItem2(124, 12, 84.95);
```
- Two objects of the `Inventory` class are created: `stockItem1` and `stockItem2`.
- `stockItem1` is created with no parameters, meaning it might use a default constructor.
- `stockItem2` is initialized with `124` (presumably an item code), `12` (quantity), and `84.95` (price).
4. **Testing Inventory Function**:
```cpp
testInventory(stockItem1, stockItem2);
```
- The `testInventory()` function is called with `stockItem1` and `stockItem2` as arguments. This function likely performs operations or tests on the inventory items passed to it.
5. **Hold Screen Function**:
```cpp
holdScreen();
```
-](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F9e6fa127-a003-469d-9a51-b1d4610918ed%2F696721c3-1e7b-43ce-a7a4-66a21625b2f0%2Fbpllg1d_processed.png&w=3840&q=75)
![### Inventory Management: Demonstrating Constructors and Functions
In this example, we illustrate the use of constructors, member "set" functions, and input validation functions in an Inventory class within a C++ program.
```cpp
void testInventory(Inventory &stockItem1, Inventory &stockItem2)
{
// Demonstrate the default constructor
cout << "\nDemonstrating the default constructor...\n";
cout << "Item number: " << stockItem1.getItemNumber() << endl;
cout << "Quantity : " << stockItem1.getQuantity() << endl;
cout << "Cost : " << stockItem1.getCost() << endl;
cout << "Total Cost : " << stockItem1.getTotalCost() << endl;
// Now demonstrate the overloaded constructor
cout << "\nDemonstrating the overloaded constructor...\n";
stockItem2.setTotalCost();
cout << "Item number: " << stockItem2.getItemNumber() << endl;
cout << "Quantity : " << stockItem2.getQuantity() << endl;
cout << "Cost : " << stockItem2.getCost() << endl;
cout << "Total Cost : " << stockItem2.getTotalCost() << endl;
// Now demonstrate the member "set" functions
stockItem2.setItemNumber(243);
stockItem2.setQuantity(50);
stockItem2.setCost(9.50);
stockItem2.setTotalCost();
cout << "\nDemonstrating the \"set\" functions...\n";
cout << "Item number: " << stockItem2.getItemNumber() << endl;
cout << "Quantity : " << stockItem2.getQuantity() << endl;
cout << "Cost : " << stockItem2.getCost() << endl;
cout << "Total Cost : " << stockItem2.getTotalCost() << endl;
// Now demonstrate the input validation functions
cout << "\nDemonstrating the input validation functions...\n";
stockItem2.setItemNumber(-1);
stockItem2.setQuantity(-1);
stockItem2.setCost(-1);
stockItem2.setTotalCost();
cout << "\nItem number: " << stockItem2.getItemNumber() << endl;
cout << "Quantity : " << stockItem2.getQuantity() << endl;](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F9e6fa127-a003-469d-9a51-b1d4610918ed%2F696721c3-1e7b-43ce-a7a4-66a21625b2f0%2Fj5t2xcr_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)