Description
Recursive Linked List
Student Class List Project
Disclaimer: I have not used any code other than my own (or that in the textbook) for this project I also have not used any
function or data-structure from the Standard-Template Library I understand that any violation of this disclaimer will result in a 0 for the
project.
Purpose: To better understand
• Linked lists
Recursion
You will write an application which stores the courses taken by a student. You will design a Course class which will contain at least:
• Course Number
• Course Name
• Credits
• Grade (numeric GPA style 4.0 — 0.0)
The courses taken by the student will be provided in a data file. You will have to parse the data from that file and add it to a Linked List of
courses.
Your Linked List class must be designed to hold an unlimited number of Course objects. All new Course objects are to be inserted in the list
maintaining list order. (Ordered by Course Number).
There can be NO LOOPS of any type in the Linked List class. Recursion MUST be used here.
Once all data has been read from the data.txt file and the resulting Course objects inserted into your linked list, you must print out the list of
courses using a PrintListO function from you Linked List object. Again, this function must use NO LOOPS; recursion only to print the entire
list. The PrintListO should first print the size of the list using your recursive size() function.
After the list of courses has been printed, you should then calculate and display the cumulative GPA of all courses in the list. Again,
recursion must be used here instead of loops.
Sample Output:
Doggett 201 ncs2420\Week
Current List: (5)
c s 100
c s14øe
cs141e
cs242e
cs281e
Introduction to Computers Grade: 3.2 Credit Hours: 2
Introduction to Programming Grade: 3.6 Credit Hours: 4
C++ Programning Grade: 2.6 Credit Hours: 4
Introduction to Data Structures Grade: 3.2 Credit Hours •
Computer Architecture Grade: 3.8 Credit Hours: 3
Cumulative GPA: 3.259
Press the [Enter] key to quit..
When the program completes, all courses should be properly deleted from the Linked List; again, using only recursion.
Several files are provided for you. You will need to add code to the following files:
1. Course.cpp
2 LinkedListcpp
3. Main.cpp