Question: Problem Specification: You are to submit the analysis, design and implementation of a bag that maintains an ordered linked list. Details: Each node s data

Problem Specification:
You are to submit the analysis, design and implementation of a bag that maintains an ordered linked list.
Details:
Each nodes data consists of id number (an integer), Name (a string), three test scores all are of the same type (all are: integers, floats or doubles). The attached two data files are to be used as test data. After data is loaded, you may use the methods below to manage the linked list.
Your program must load the data from either one of the two files and place it in the linked list in ascending order (that is lowest to highest) based on the id number.
You need to define the linkedlist class in a header file and the methods that will maintain the list in a C++ implementation file.
Each Node of the list contains the data specified above, and a pointer to the next node. You are to define the Node class in a header file. Methods that will maintain the Node are stored in a C++ implementation file.
The client C++ file will contain code that interacts with the user using a menu like interface to test operations on the sorted list. You may choose to define a child class that inherits the Node class or may use object composition. However, every class must have two files a header and an implementation.
Methods in the classes may include but are not limited to the following:
o Add is a method that adds a Node at its appropriate position.
o Location is a method that returns a pointer to where action may take place. (Recursive)
o Remove is a method that removes a selected Node if it exists, returns true or false.
o Clear is a method that clears the list of all the Nodes, but before a Node is deleted, it calls a Print method that prints the Node data to a file. All nodes that are created using the new operator must be de-allocated, deleted.
o Peek is an accessor method that displays, on the screen, the data in the Node given the students name, if the Node with name does not exist the method will display that. The list is unchanged.
o Average is a method that calculates the average (average is not a data member).
o Grade is a method that calculates the grade (grade is not a data member).
o Other functions may be used such as getData(), setNext()... as explained in the book and in previous projects.
Requirements:
Specify each methods purpose, describe its parameters, and write a pseudo-code version of its header as explained in book.
A static data member that keeps track of the number of nodes in the list.
Create a UML class diagram for all classes.
Use class templates to accommodate test scores that are integer, float or double.
Create a header file and implementation file for the bag.
Create a header file that contains the class declaration for the class Node. Each node contains data and a pointer to the next node. The last nodes next field should always be NULL.
Create an implementation file that contains the methods for each class.
Define a default constructor that initializes the head pointer to NULL.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!