In this problem, students can use accounts to take online courses.
The program architecture is explained as follows.
A. Definition of class Student
B. Definition of class Account
C. Definition of class OnlineCourse
You are asked to implement
void StrivingStudent::learn(const string &str)
void OnlineCourse::operator+=(Student *s)
create an Account for the Student and insert the Account to the doubly linked list.
Note:
A student cannot login a same course for more than one time.
But a student can logout a course, and then login again.
void OnlineCourse::operator-=(Student *s)
remove the Account for the Student from the doubly linked list and then delete the Account.
string Math::material(istream &input)
string English::material(istream &input)
Note: you don’t need to insert a new line before the first character, even if it’s uppercase.
First line contains an integer n and n types from {m, e}
Second line contains an integer m and m types from {i, s}
and then, there are 4 kinds of commands
m-th student logins n-th course
m-th student logouts n-th course
there are new input for n-th course
show the note of m-th student
the output depends on the input commands.