1. Create a class called JobQueue that includes the following fields and functionality: Field Description The field that stores the queue or a pointer to the queue containing job IDs The number of jobs in the queue The maximum number of jobs the queue can have jobQueue numJobs maxNumJobs Description Decide if you need to use any parameters Function Constructors Destructors bool isEmpty() const bool isFull() const int getNumJobs() const int getMaxNumJobs() const void print() bool addJob(unsigned int) Checks if printer queue is empty Checks if printer queue is full Returns the number of jobs waiting in the queue Returns the maximum possible size of the queue Prints the queue in the order of arrival on the console Adds the job ID to the queue Dequeues the printer queue and returns the job ID Empties the queue unsigned int serveJob() void clearQueue() You may use your own implementation of a queue or use the STL queue: http://www.cplusplus.com/reference/queue/queue/ 2. Design and implement a class to mimic a list of printers. Each printer should have a status with values as either "busy" or "free". The class should have the following functionalities: Function Parameters/Returns Description Returns the number of printers in the system Returns the number of “free" printers in the system Sets the printer to status "busy". Throws an error if the printer is already "busy". Sets the printer to status "free". Throws an error if the printer is already "free". getNumPrinters getNumFreePrinters usePrinter Parameter: Printer index/pointer freePrinter Parameter: Printer index/pointer
1. Create a class called JobQueue that includes the following fields and functionality: Field Description The field that stores the queue or a pointer to the queue containing job IDs The number of jobs in the queue The maximum number of jobs the queue can have jobQueue numJobs maxNumJobs Description Decide if you need to use any parameters Function Constructors Destructors bool isEmpty() const bool isFull() const int getNumJobs() const int getMaxNumJobs() const void print() bool addJob(unsigned int) Checks if printer queue is empty Checks if printer queue is full Returns the number of jobs waiting in the queue Returns the maximum possible size of the queue Prints the queue in the order of arrival on the console Adds the job ID to the queue Dequeues the printer queue and returns the job ID Empties the queue unsigned int serveJob() void clearQueue() You may use your own implementation of a queue or use the STL queue: http://www.cplusplus.com/reference/queue/queue/ 2. Design and implement a class to mimic a list of printers. Each printer should have a status with values as either "busy" or "free". The class should have the following functionalities: Function Parameters/Returns Description Returns the number of printers in the system Returns the number of “free" printers in the system Sets the printer to status "busy". Throws an error if the printer is already "busy". Sets the printer to status "free". Throws an error if the printer is already "free". getNumPrinters getNumFreePrinters usePrinter Parameter: Printer index/pointer freePrinter Parameter: Printer index/pointer
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
100%
The code is in C++

Transcribed Image Text:1. Create a class called JobQueue that includes the following fields and functionality:
Field
Description
The field that stores the queue or a pointer to the queue containing job IDs
The number of jobs in the queue
The maximum number of jobs the queue can have
jobQueue
numJobs
maxNumJobs
Function
Description
Decide if you need to use any parameters
Constructors
Destructors
Checks if printer queue is empty
Checks if printer queue is full
Returns the number of jobs waiting in the queue
Returns the maximum possible size of the queue
Prints the queue in the order of arrival on the console
Adds the job ID to the queue
Dequeues the printer queue and returns the job ID
Empties the queue
bool isEmpty() const
bool isFull() const
int getNumJobs () const
int getMaxNumJobs() const
void print()
bool addJob(unsigned int)
unsigned int serveJob()
void clearQueue()
You may use your own implementation of a queue or
http://www.cplusplus.com/reference/queue/queue/
use the STL queue:
2. Design and implement a class to mimic a list of printers. Each printer should have a status with
values as either "busy" or "free". The class should have the following functionalities:
Parameters/Returns
Description
Returns the number of printers in the system
Returns the number of "free" printers in the system
Sets the printer to status "busy". Throws an error if
the printer is already "busy".
Sets the printer to status "free". Throws an error if
the printer is already "free".
Function
getNumPrinters
getNumFreePrinters
usePrinter
Parameter: Printer
index/pointer
freePrinter
Parameter: Printer
index/pointer

Transcribed Image Text:You may choose to implement this using any data structure or data type. Clearly state your design
decisions and assumptions in a file called PrinterList.pdf.
3. Test the functionality of your printer queue application. Your code should be able to handle the
following test case:
a. Create a job queue of maximum size 5
b. Create a printer list with 2 printers (e.g., A and B)
c. Add job IDs 1 and 2 to the job queue
d. Use printer B for dequeued job
e. Add jobs 3 and 4 to the job queue
f. Use printer A for dequeued job
g. Free printer B
h. Use printer B for dequeued job
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images

Knowledge Booster
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.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education