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

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

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();
   ```
   -
Transcribed Image Text:### 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(); ``` -
### 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;
Transcribed Image Text:### 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;
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY