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.
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
Do not accept negative values for item number, quantity, or cost.
![### Sample C++ Program for Inventory Management
Below is a sample C++ program that demonstrates the manipulation of inventory items using both default and overloaded constructors. The program also includes a demonstration of setting precision for floating-point numbers and utilizes simple functions to showcase developer information and holding the screen for output. The inventory properties include item number, quantity, cost, and total cost.
```cpp
#include <iostream>
#include <iomanip>
#include <conio.h>
#include "Inventory.h"
using namespace std;
void testInventory(Inventory &, Inventory &);
void developerInfo();
void holdScreen();
int main()
{
cout << fixed
<< showpoint
<< setprecision(2);
developerInfo();
Inventory stockItem1;
Inventory stockItem2(124, 12, 84.95);
testInventory(stockItem1, stockItem2);
holdScreen();
return 0;
}
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;
}
```
### Explanation
1. **Header Inclusions**:
- `#include <iostream>`: Includes the standard input/output stream objects required for the program.
- `#include <iomanip>`: Includes functions to manipulate the format of input/output.
- `#include <conio.h>`: Used for console input/output (specific to certain compilers).
- `#include "Inventory.h"`: Includes the custom header file for the `Inventory` class (assumed to](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F9e6fa127-a003-469d-9a51-b1d4610918ed%2Feb159603-cea2-4a8e-8353-e7714e6ff549%2Frpytv8oh_processed.png&w=3840&q=75)
![### Demonstrating Member Functions and Input Validations in C++
Here's an example of a C++ program that demonstrates how to use member functions and input validation within a class.
```cpp
// 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;
cout << "Cost : " << stockItem2.getCost() << endl;
cout << "Total Cost : " << stockItem2.getTotalCost() << endl;
}
// Function to hold the screen
void holdScreen()
{
char ch;
cout << "\nPress any key to exit... ";
ch = getch();
}
// Developer information function
void developerInfo()
{
cout << "Name: <Enter your full name here>" << endl;
cout << "Course: COSC-1337 Programming Fundamentals II" << endl;
cout << "Program: Seven" << endl;
}
```
### Explanation
1. **Demonstrating Member "Set" Functions**:
- The program initializes the `StockItem` object `stockItem2` by setting the item number, quantity, cost, and calculates the total cost.
- It then prints these values using the `get` member functions to demonstrate that the values have been successfully set.
2. **Input Validation Functions**:
- This part of the code attempts to set invalid values (negative numbers) for the item number, quantity, and cost.
- It then prints the values using the `get`](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F9e6fa127-a003-469d-9a51-b1d4610918ed%2Feb159603-cea2-4a8e-8353-e7714e6ff549%2Fibz920r_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)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)