Starting Out with C++ from Control Structures to Objects (8th Edition)
Starting Out with C++ from Control Structures to Objects (8th Edition)
8th Edition
ISBN: 9780133769395
Author: Tony Gaddis
Publisher: PEARSON
bartleby

Concept explainers

Question
Book Icon
Chapter 18, Problem 3PC
Program Plan Intro

Static Queue Template

Program Plan:

Main.cpp:

  • Include required header files.
  • Inside “main ()” function,
    • Declare a constant variable
    • Declare a template
    • Manipulate and insert elements into the queue using “enqueue ()” function.
    • Delete the queue elements using “dequeue ()” function.

Queue.h:

  • Include required header files.
  • Create template class
  • Declare a class named “Queue”. Inside the class,
    • Inside the “private” access specifier,
      • Create an object for the template
      • Declare required variables.
    • 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.
    • Allocate memory dynamically for the template.
    • Assign the values.
  • Declare template class.
  • Give definition for the destructor.
    • Delete queue array and make it as null.
  • Declare template class.
  • Give function definition for “enqueue ()”.
    • Check whether the queue is full using “isFull ()” function.
      • If the condition is true then, print “The queue is full”.
      • If the condition is not true then,
        • Calculate the “rear” position.
        • Assign “num” to the “queue_Array [rear]”.
        • Increment the variable “numItems”.
  • Declare template class.
  • Give function definition for “dequeue ()”.
    • 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,
        • Calculate “front” position.
        • Assign the value of “queue_Array [front]” to the variable “num”.
        • 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 “isFull ()”.
    • Assign “true” to a Boolean variable
    • Check if “numItems” is less than “size”
      • If the condition is true then assign “false” to the variable.
    • Return the Boolean variable.
  • Declare template class.
  • Give function definition for “clear ()”.
    • Decrement queue size and assign it to “front”.
    • Decrement queue size and assign it to “rear”.
    • Assign 0 to the variable “numItems”.

Blurred answer
Students have asked these similar questions
Suppose your computer is responding very slowly to information requests from the Internet. You observe that your network gateway shows high levels of network activity even though you have closed your e-mail client, Web browser, and all other programs that access the Internet. What types of malwares could cause such symptoms? What steps can you take to check whether malware has gained access to your system? What tools can you use at each step? If you identify malware, what ways might it have entered your system? How can you restore your PC to safe operation, including the special software tools you may use?
R language
Using R language

Chapter 18 Solutions

Starting Out with C++ from Control Structures to Objects (8th Edition)

Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
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
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Microsoft Visual C#
Computer Science
ISBN:9781337102100
Author:Joyce, Farrell.
Publisher:Cengage Learning,
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
CMPTR
Computer Science
ISBN:9781337681872
Author:PINARD
Publisher:Cengage