In this homework, you will implement a single linked list to store a list of students. Every student has an ID, a name, and a major. You will create 2 classes: Student and Classroom. Student class should have all above attributes and also a “next” pointer.
Student |
|
Type |
Attribute |
String |
ID |
String |
name |
String |
major |
Student* |
next |
Classroom class should have a head node as an attribute to keep the list of the students. Also, following member functions should be implemented in this class:
Classroom |
|
Type |
Attribute |
Student* |
head |
|
|
Return Type |
Function |
|
constructor |
void |
addStudent(string id, string name, string major) |
void |
removeStudent (string id) |
void |
print() |
void |
print(string id) |
Student |
at(int index) |
int |
getSize() |
bool |
isEmpty() |
addStudent(…): Adds a new student to the list. The new student is placed based on the ALPHABETICAL ORDER of the names. You shouldn’t add the student directly to the end or front of the list. The new student has to be inserted to the correct position. For example, if you have following three students:
A new student, “David Taylor” will be placed in alphabetical order between the
second and third student.
removeStudent(…): This functions will remove a student using the given id number. If the given id number is not in the list, it will give an error.
print(): Print all students in (alphabetical) order. id, name, and the major should be printed for each student.
print(string id): Prints all information of a student for a given id
at(int index): Returns the student at given index
getSize(): returns the number of students in the list
isEmpty(): returns true if list is empty, returns false otherwise.
You will implement the Student and Classroom classes along with a main.cpp file. I expect you to have 3 files: Classroom.h, Classroom.cpp, and main.cpp. Student class definition will be in the Classroom.h file.
main.cpp includes following operations in the main function.
A25123 |
Izzie Cline |
Mathematics |
A23452 |
Bridget McCann |
Computer Science |
A45120 |
Isa Powell |
History |
A56009 |
Nick Miller |
Computer Science |
A65980 |
Alannah Wilks |
Literature |
A45018 |
Montana Gates |
Biology |
A86003 |
Janet Newman |
Nursing |
Additional Resources:
In addition, I have provided an integer single linked list C++ class to help you to study for linked lists. If you study that code, you can see the following functions:
void pushBack(int newValue)
void insertAt(int newValue,int index) int at(int index)
int removeAt(int index) void print()
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of