Starting Out with C++ from Control Structures to Objects, Student Value Edition (9th Edition)
Starting Out with C++ from Control Structures to Objects, Student Value Edition (9th Edition)
9th Edition
ISBN: 9780134443829
Author: Tony Gaddis
Publisher: PEARSON
Question
Book Icon
Chapter 19, Problem 13PC
Program Plan Intro

Inventory Bin Queue

Program Plan:

InventoryItem.h:

  • Include required header files
  • Declare a class named “InventoryItem”. Inside the class,
    • Inside “private” access specifier,
      • Declare variables “serialNum”, “manufactDate”, and “lotNum”.
    • Inside “public” access specifier,
      • Give definition for default constructor.
      • Give definition for overloaded constructor.
      • Give mutator function “set_SerialNum ()” to set serial number.
      • Give mutator function “set_ManufactDate ()” to set date.
      • Give mutator function “set_LotNum ()” to set lot number.
      • Give accessor function “get_SerialNum ()” that returns serial number.
      • Give accessor function “get_ManufactDate ()” that returns date.
      • Give accessor function “get_LotNum ()” that returns lot number.

Dynqueue.h:

  • Include required header files.
  • Create template class
  • Declare a class named “Dynqueue”. Inside the class,
    • Inside the “private” access specifier,
      • Create a structure named “QueueNode”.
        • Create an object for the template
        • Create a pointer named “next”.
      • Create two pointers named “front” and “rear”.
    • Inside “public” access specifier,
      • Declare constructor and destructor.
      • Declare the functions “enqueue ()”, “dequeue ()”, “isEmpty ()”, “isFull ()”, and “clear ()”.
  • Declare template class.
  • Give definition for the constructor.
    • Assign the values.
  • Declare template class.
  • Give definition for the destructor.
    • Call the function “clear ()”.
  • Declare template class.
  • Give function definition for “enqueue ()”.
    • Make the pointer “newNode” as null.
    • Assign “num” to newNode->value.
    • Make newNode->next as null.
    • Check whether the queue is empty using “isEmpty ()” function.
      • If the condition is true then, assign newNode to “front” and “rear”.
      • If the condition is not true then,
        • Assign newNode to rear->next
        • Assign newNode to “rear”.
      • Increment the variable “numItems”.
  • Declare template class.
  • Give function definition for “dequeue ()”.
    • Assign temp pointer as null.
    • Check if the queue is empty using “isEmpty()” function.
      • If the condition is true then print “The queue is empty”.
      • If the condition is not true then,
        • Assign the value of front to the variable “num”.
        • Make front->next as “temp”.
        • Delete the front value
        • Make temp as front.
        • Decrement the variable “numItems”.
  • Declare template class.
  • Give function definition for “isEmpty ()”.
    • Assign “true” to a Boolean variable
    • Check if “numItems” is true.
      • If the condition is true then assign “false” to the variable.
    • Return the Boolean variable.
  • Declare template class.
  • Give function definition for “clear ()”.
    • Create an object for template.
      • Dequeue values from queue till the queue becomes empty using “while” condition.

Main.cpp:

  • Include required header files
  • Inside “main ()” function,
    • Create a template for queue.
    • Create an object for the class
    • Declare variables “choice”, “serial”, and “mDate”.
    • Print the menu to the user till the user enters corresponding menu number using “while” condition.
    • Switch to case.
      • Case1:
        • Get the serial number and manufacturing date from the user.
        • Push the object into the queue using the function “enqueue ()”.
      • Case 2:
        • Check if the queue is empty using “isEmpty ()” function.
        • If the queue is not empty,
          • Dequeue an element which is inserted first.
          • Print the serial number and date that has been removed.
      • Case 3:
        • Exit

Blurred answer
Students have asked these similar questions
Make the following game user friendly with GUI, with some simple graphics. The GUI should be in another seperate class, with some ImageIcon, and Game class should be added into the pane. The following code works as this: The objective of the player is to escape from this labyrinth. The player starts at the bottom left corner of the labyrinth. He has to get to the top right corner of the labyrinth as fast he can, avoiding a meeting with the evil dragon. The player can move only in four directions: left, right, up or down. There are several escape paths in all labyrinths. The player’s character should be able to moved with the well known WASD keyboard buttons. If the dragon gets to a neighboring field of the player, then the player dies. Because it is dark in the labyrinth, the player can see only the neighboring fields at a distance of 3 units.  Cell Class: public class Cell { private boolean isWall; public Cell(boolean isWall) { this.isWall = isWall; } public boolean isWall() { return…
Discuss the negative and positive impacts or information technology in the context of your society. Provide two references along with with your answer
A cylinder of diameter 10 cm rotates concentrically inside another hollow cylinder of inner diameter 10.1 cm. Both cylinders are 20 cm long and stand with their axis vertical. The annular space is filled with oil. If a torque of 100 kg cm is required to rotate the inner cylinder at 100 rpm, determine the viscosity of oil. Ans. μ= 29.82poise

Chapter 19 Solutions

Starting Out with C++ from Control Structures to Objects, Student Value Edition (9th Edition)

Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning