Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

CS3330 Homework 2 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....

1 answer below »
CS3330 Homework 2
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()
ool 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
co
ect 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.
emoveStudent(…): 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 e
or.
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.
1. Add following students to the list using addStudent(string id, string
name, string major)
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
Amy
Newman
Bill Smith
Emily
Jordan
A86003 Janet Newman Nursing
2. Print the list of the students in alphabetical order using Print()
3. Remove Janet Newman from the list using removeStudent (string id)
4. Print Janet Newman information (you should give e
or message since Janet
Newman is already removed)
5. Print the list of the students in alphabetical order using Print()
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()
This code is given you for a reference not to use it in this assignment. There are
some functions in that class that you don’t need or there are some which requires
some modifications.
Answered Same Day Jan 14, 2021

Solution

Neha answered on Jan 18 2021
158 Votes
CPP solution/a.exe
CPP solution/classroom.cpp
#include "classroom.h"
#include #include using namespace std;
Constructor for the student class
Student::Student(string a, string b, string c)
{
name = a;
rollno = b;
major = c;
next = NULL;
}
Accessors for the student class
string Student::getname()
{
return name;
}
string Student::getrollno()
{
return rollno;
}
string Student::getmajor()
{
return major;
}
Student* Student::getnext()
{
return next;
}
Mutators of the Student class
void Student::setnext(Student *sptr)
{
next = sptr;
}
void Student::printDetails()
{
cout
"Name: "
name
endl;
cout
"Rollno: "
ollno
endl;
cout
"Major: "
majo
endl;
}
Constructor for the ClassRoom class
ClassRoom::ClassRoom()
{
head = NULL;
size = 0;
}
Accessors of the ClassRoom class
int ClassRoom::getSize()
{
return size;
}
Other member functions of the ClassRoom class
void ClassRoom::addStudent(Student* ptr)
{
if(head==NULL)
head = ptr;
else
{
Student* temp=head;
Student* prev=NULL;
while(temp!=NULL)
{
prev=temp;
temp=temp->getnext();
}
prev->setnext(ptr);
}
++size;
}
Student* ClassRoom::searchStudent(string roll)
{
Student* temp = head;
while(temp!=NULL)
{
if(temp->getrollno()==roll)
return temp;
temp=temp->getnext();
}
return NULL;
No student found with that roll numbe
}
void ClassRoom::deleteStudent(string roll)
{
Student* node = searchStudent(roll);
if(node==NULL)
cout
"No such student"
endl;
else
{

Student exists.
...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here