Starting Out with C++ from Control Structures to Objects (8th Edition)
8th Edition
ISBN: 9780133769395
Author: Tony Gaddis
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 17, Problem 10PC
Program Plan Intro
Payroll Modification
Program Plan:
LinkedList.h:
- Include the required specifications into the program.
- Define a class template named “LinkedList”.
- Declare the member variables “value” and “*next” in structure named “ListNode”.
- Declare the pointer variables “head” and “placeHolder” for the structure.
- Declare the constructor, copy constructor, destructor, and member functions in the class.
- Declare a class template and define a function named “appendNode()” to insert the node at end of the list.
- Declare the structure pointer variables “newNode” and “nodePtr” for the structure named “ListNode”.
- Assign the value “newValue” to the variable “newNode” and assign null to the variable “newNode”.
- Using “if…else” condition check whether the list to be empty or not, if the “head” is empty and make a new node into “head” pointer. Otherwise, make a loop find last node in the loop.
- Assign the value of “nodePtr” into the variable “newNode”.
- Declare a class template and define a function named “displayList()” to print the values in the list.
- Declare the structure pointer “nodePtr” for the structure named “ListNode”.
- Initialize the variable “nodePtr” with the “head” pointer.
- Make a loop “while” to display the values of the list.
- Declare a class template and define a function named “insertNode()” used to insert a value into the list.
- Declare the structure pointer variables “newNode”, “nodePtr”, and “previousNode” for the structure named “ListNode”.
- Make a “newNode” value into the received variable value “newValue”.
- Using “if…else” condition to check whether the list is empty or not.
- If the list is empty then initialize “head” pointer with the value of “newNode” variable.
- Otherwise, make a “while” loop to test whether the “newValue” value is less than the list values or not.
- Use “if…else” condition to initialize the value into list.
- Declare a class template and define a function named “deleteNode()” to delete a value from the list.
- Declare the pointer variables “nodePtr”, and “previousNode” for the structure named “ListNode”.
- Using “if…else” condition to check whether the “head” value is equal to “newValue” or not.
- Initialize the variable “nodePtr” with the value of the variable “head”.
- Remove the value using “delete” operator and reassign the “head” value into the “nodePtr”.
- If the “newValue” value not equal to the “head” value, then define the “while” loop to assign the “nodePtr” into “previousNode”.
- By using “if” condition, delete the “previousNode” pointer.
- Define the destructor to destroy the values in the list.
- Declare the structure pointer variables “nodePtr”, and “nextNode” for the structure named “ListNode”.
- Initialize the “head” value into the “nodePtr”.
- Define a “while” loop to make the links of node into “nextNode” and remove the node using “delete” operator.
- Declare a class template and define a function named “getFirst()” to get a first value from the list.
- Declare a variable “status” in type of “boolean” and initialize the “head” value into the “placeHolder”.
- Change the value of “status” into “true”, if the value available in “placeHolder”.
- Return the value of “status” into called function.
- Declare a class template and define a function named “getNext()” to get a another value from the list.
- Declare a variable “status” in type of “boolean”.
- Initialize the next node value of “placeHolder” into “placeHolder”.
- Change the value of “status” into “true”, if the next node value available in “placeHolder”.
- Return the value of “status” into called function.
main.cpp:
- Include the required header files into the program.
- Declare the function prototypes to get employee information from user.
- In “main()” function, create a object for “LinkedList” template class.
- Define the function named “getEmployeeIds()” with an object of “LinkedList” class.
- Declare the variable named “anotherOne” and initialize it as “y”.
- Declare the variable named “id” in type of “long”.
- Make a call to the function “appendNode()” with value of “id”.
- Prompt the user to get another value from user.
- Define the function named “getEmployeeInfo()” with an object of “LinkedList” class.
- Declare the variables named “idNum”, “hours”, “payRate”, and “grossPay”.
- Using “if…else” condition check whether the list is empty or not.
- If list contains data, make a call to a function “getData()” to get the values from user.
- Make a call to “appendNode” using objects; insert the values into the list.
- Otherwise, display appropriate message on the screen.
- If list contains data, make a call to a function “getData()” to get the values from user.
- Define the function named “getData()” with an arguments.
- Prompt and get the values of “hours” and “payRate” from user to calculate the value of “grossPay”.
- Define the function named “displayWages()” with an objects for linked list.
- Declare the variables for the method.
- Using “while” loop to display all values from the list.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
8. Grade Book
A teacher has five students who have taken four tests. The teacher uses the following grading
scale to assign a letter grade to a student, based on the average of his or her four test scores:
Test Score
Letter Grade
90–100
A
80-89
B
70-79
C
60-69
D
0-59
Write a class that uses a String array or an ArrayList object to hold the five students' names,
an array of five characters to hold the five students' letter grades, and five arrays of four
doubles each to hold each student's set of test scores. The class should have methods that
return a specific student's name, the average test score, and a letter grade based on the average.
Demonstrate the class in a program that allows the user to enter each student's name and his
or her four test scores. It should then display each student's average test score and letter grade.
Input Validation: Do not accept test scores less than zero or greater than 100.
Program Name: <LastNameFirstInit>_PetShelter
You work at a Pet Shelter that take in homeless pets. You have been tasked with creating a report that shows a list of all the dog breeds currently staying at the shelter. This list should include the breed name along with the count for each breedcurrently being housed at the shelter. In addition, at the end, the report should display the name of breed that we have the most (max) of currently at the shelter. In addition, your program should utilize methods for building the report and searching for the max breed count. Two parallel arrays have been provided.
You can use the following code to get you started.
//START CUTTING CODE HERE
public class MichakR_PetShelter {
public static void main(String[] args) {
String[] breedNames = {"Bulldog", "German Shepherd", "Golden Retriever", "Beagle", "Poodle", "Boxer", "Mixed Dog", "Husky"};
int[] breedCounts = {2,5,3,1,8,1,11, 3};
//generate report
//get Max Breed
//print report
}
public…
Drink Machine Simulator
Write a program that simulates a soft drink machine. The program should use a structure that stores the following data:
Drink Name
Drink Cost
Number of Drinks in Machine
The program should create an array of five structures. The elements should be initialized with the following data:
Drink Name
Cost
Number in Machine
Cola
.75
20
Root Beer
.75
20
Lemon-Lime
.75
20
Grape Soda
.80
20
Cream Soda
.80
20
Each time the program runs, it should enter a loop that performs the following steps: A list of drinks is displayed on the screen. The user should be allowed to either quit the program or pick a drink. If the user selects a drink, he or she will next enter the amount of money that is to be inserted into the drink machine. The program should display the amount of change that would be returned, and subtract one from the number of that drink left in the machine. If the user selects a drink that has sold out, a message…
Chapter 17 Solutions
Starting Out with C++ from Control Structures to Objects (8th Edition)
Ch. 17.1 - Prob. 17.1CPCh. 17.1 - Prob. 17.2CPCh. 17.1 - Prob. 17.3CPCh. 17.1 - Prob. 17.4CPCh. 17.2 - Prob. 17.5CPCh. 17.2 - Prob. 17.6CPCh. 17.2 - Prob. 17.7CPCh. 17.2 - Prob. 17.8CPCh. 17.2 - Prob. 17.9CPCh. 17.2 - Prob. 17.10CP
Ch. 17 - Prob. 1RQECh. 17 - Prob. 2RQECh. 17 - Prob. 3RQECh. 17 - Prob. 4RQECh. 17 - Prob. 5RQECh. 17 - Prob. 6RQECh. 17 - Prob. 7RQECh. 17 - Prob. 8RQECh. 17 - Prob. 9RQECh. 17 - Prob. 10RQECh. 17 - Prob. 11RQECh. 17 - Prob. 13RQECh. 17 - Prob. 14RQECh. 17 - Prob. 15RQECh. 17 - Prob. 16RQECh. 17 - Prob. 17RQECh. 17 - Prob. 18RQECh. 17 - Prob. 19RQECh. 17 - Prob. 20RQECh. 17 - Prob. 21RQECh. 17 - Prob. 22RQECh. 17 - Prob. 23RQECh. 17 - Prob. 24RQECh. 17 - Prob. 25RQECh. 17 - T F The programmer must know in advance how many...Ch. 17 - T F It is not necessary for each node in a linked...Ch. 17 - Prob. 28RQECh. 17 - Prob. 29RQECh. 17 - Prob. 30RQECh. 17 - Prob. 31RQECh. 17 - Prob. 32RQECh. 17 - Prob. 33RQECh. 17 - Prob. 34RQECh. 17 - Prob. 35RQECh. 17 - Prob. 1PCCh. 17 - Prob. 2PCCh. 17 - Prob. 3PCCh. 17 - Prob. 4PCCh. 17 - Prob. 5PCCh. 17 - Prob. 6PCCh. 17 - Prob. 7PCCh. 17 - List Template Create a list class template based...Ch. 17 - Prob. 9PCCh. 17 - Prob. 10PCCh. 17 - Prob. 11PCCh. 17 - Prob. 12PCCh. 17 - Prob. 13PCCh. 17 - Prob. 14PCCh. 17 - Prob. 15PC
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.Similar questions
- Treasure Hunter description You are in front of a cave that has treasures. The cave canrepresented in a grid which has rows numbered from 1to , and of the columns numbered from 1 to . For this problem, define (?, )is the tile that is in the -th row and -column.There is a character in each tile, which indicates the type of that tile.Tiles can be floors, walls, or treasures that are sequentially representedwith the characters '.' (period), '#' (hashmark), and '*' (asterisk). You can passfloor and treasure tiles, but can't get past wall tiles.Initially, you are in a tile (??, ). You want to visit all the treasure squares, andtake the treasure. If you visit the treasure chest, then treasurewill be instantly taken, then the tile turns into a floor.In a move, if you are in a tile (?, ), then you can move tosquares immediately above (? 1, ), right (?, + 1), bottom (? + 1, ), and left (?, 1) of thecurrent plot. The tile you visit must not be off the grid, and must not be awall patch.Determine…arrow_forwardignore the 4a is actually the previous I donearrow_forward#include #include #include "Product.h". using namespace std; int main() { vector productList; Product currProduct; int currPrice; string currName; unsigned int i; Product resultProduct; cin >> currPrice; while (currPrice > 0) { cin >> currName; currProduct.SetPriceAndName (currPrice, currName); productList.push_back (currProduct); cin >> currPrice; } resultProduct = productList.at(0); for (i = 0; i resultProduct.GetPrice()) { resultProduct = productList.at(i); } CS re 0; ultProduct.GetName() << " " << result Product.GetPrice() << endl; Input 10 Berries 8 Paper 7 Socks -1 Output ||^arrow_forward
- Pseudocode for the student grade calculator program, please Create a program to enter grades and calculate averages and letter grades. Need a class which will contain: Student Name Student Id Student Grades (an array of 3 grades) A constructor that clears the student data (use -1 for unset grades) Get functions for items a, b, and c, average, and letter grade Set functions for items a, n, and c Note that the get and set functions for Student grades need an argument for the grade index. Need another class which will contain: An Array of Students (1 above) A count of number of students in use You need to create a menu interface that allows you to: Add new students Enter test grades Display all the students with their names, ids, test grades, average, and letter grade Exit the program Add comments and use proper indentation. Nice Features: I would like that system to accept a student with no grades, then later add one or more grades, and when all grades are entered, calculate the…arrow_forwardArithmetic progression def arithmetic_progression(items): An arithmetic progression is a numerical sequence so that the stride between each two consecutive elements is constant throughout the sequence. For example, [4, 8, 12, 16, 20] is an arithmetic progression of length 5, starting from the value 4 with a stride of 4.Given a non-empty list items of positive integers in strictly ascending order, find and return the longest arithmetic progression whose all values exist somewhere in that sequence. Return the answer as a tuple (start, stride, n) of the values that define the progression. To ensure unique results to facilitate automated testing, if there exist several progressions of the same length, this function should return the one with the lowest start. If several progressions of equal length emanate from the lowest start, return the progression with the smallest stride. items Expected result [42] (42, 0, 1) [2, 4, 6, 7, 8, 12, 17] (2, 2, 4) [1, 2, 36, 49, 50, 70, 75, 98,…arrow_forwardArithmetic progression def arithmetic_progression(items): An arithmetic progression is a numerical sequence so that the stride between each two consecutive elements is constant throughout the sequence. For example, [4, 8, 12, 16, 20] is an arithmetic progression of length 5, starting from the value 4 with a stride of 4. Given a non-empty list items of positive integers in strictly ascending order, find and return the longest arithmetic progression whose all values exist somewhere in that sequence. Return the answer as a tuple (start, stride, n) of the values that define the progression. To ensure unique results to facilitate automated testing, if there exist several progressions of the same length, this function should return the one with the lowest start. If several progressions of equal length emanate from the lowest start, return the progression with the smallest stride. items expected results [42] (42, 0, 1) [2, 4, 6, 7, 8, 12, 17] (2, 2, 4) [1, 2, 36, 49, 50, 70, 75, 98,…arrow_forward
- True or False The objects of a class can be stored in an array, but not in a List.arrow_forward7. Quarterly Sales Statistics Write a program that lets the user enter four quarterly sales figures for six divisions of a company. The figures should be stored in a two-dimensional array. Once the figures are entered, the program should display the following data for each quarter: • A list of the sales figures by division • Each division's increase or decrease from the previous quarter (this will not be dis- played for the first quarter) The total sales for the quarter • The company's increase or decrease from the previous quarter (this will not be dis- played for the first quarter) • The average sales for all divisions that quarter • The division with the highest sales for that quarter Input Validation: Do not accept negative numbers for sales figures.arrow_forwardAlphabet Random Walk• Write a program to generate a random walk that spans a 10*10 character array (The initial values of the elements are all.). The program must randomly walk from one element to another, moving one element position up, down, left or right each time. The elements that have been visited are labeled with the letters A through Z in the order in which they were visitedarrow_forward
- Subject - Data Structure Write a method, remove, that takes three parameters: an array of integers, the length of the array, and an integer, say, The method should find and delete the first occurrence of removeItem in the array. If the value does not exist or the array is empty, output an appropriate message. (Note that after deleting the element, the array size is reduced by1.) You may assume that the array is unsorted. Test your code with phython array [2,5,7,58,9,14,67,7] removeitem 7 removeitem 20 Thank you in Advance.arrow_forwardData structures find_color(colors:set, values:list) -> list The function will have two parameters. The first parameter is a set of strings known as Colors. A second parameter is a list of tuple-2 known as Values. Colors will contain a set of randomly selected colors. Values will contain a list of tuples of size 2. Each tuple will contain color (str) and a number (int). The function should look at each tuple in Values. For each tuple, add the number (the second value in the tuple) to a list of numbers if the color in the tuple (the first value in the tuple) is in Colors. In other words, find all tuples that have a color in the Colors and add the tuples numbers to a list. Finally, the function should return the list of numbers collected in the order they are found in the values list. Example: Colors: {'black', 'pink', 'yellow'} values: [('green', 100), ('yellow', 13), ('red', 6)] Expected: [13] Colors: {'yellow'} values: [('black', 54), ('pink', 5)] Expected: [] Colors: {'black',…arrow_forward5. List Member Deletion Modify the list class you created in the previous programming challenges by adding a function to remove an item from the ist and by adding a destructor: void zemove (double x) : Linkedtist (02 Test the class by adding a sequence of instructions that mixes operations for adding items, removing items, and printing the list.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:CengageEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT
- C++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr