Newer
Older
bool quit = false;
while (!quit) {
std::cout << "1. Create course" << std::endl;
std::cout << "2. Add student" << std::endl;
std::cout << "3. Add existing student" << std::endl;
std::cout << "4. Display student" << std::endl;
std::cout << "5. Remove student" << std::endl;
std::cout << "6. Delete student" << std::endl;
std::cout << "7. Display course" << std::endl;
std::cout << "8. Display all courses" << std::endl;
std::cout << "9. Quit" << std::endl;
std::cout << "Enter your choice: ";
int choice;
std::cin >> choice;
int matriculationNumber;
switch (choice) {
case 1:
std::cout << "Enter course name: ";
std::cin.ignore();
std::getline(std::cin, name);
break;
case 2:
std::cout << "Enter student's first name: ";
std::cin >> firstName;
std::cout << "Enter student's last name: ";
std::cin >> lastName;
std::cout << "Enter course name: ";
std::cin >> courseName;
for (auto *course: courses) {
if (course->getName() == courseName) {
course->addStudent(new Student(lastName, firstName));
}
}
break;
case 3:
std::cout << "Enter student's matriculation number: ";
std::cin >> matriculationNumber;
std::cout << "Enter course name: ";
std::cin >> courseName;
for (auto *course: courses) {
if (course->getName() == courseName) {
Student *student = course->getStudent(matriculationNumber);
if (student != nullptr) {
course->addStudent(student);
}
}
}
break;
case 4:
std::cout << "Enter student's matriculation number: ";
std::cin >> matriculationNumber;
for (auto *course: courses) {
course->displayStudent(matriculationNumber);
}
std::cout << "Enter student's matriculation number: ";
std::cin >> matriculationNumber;
std::cout << "Enter course name: ";
std::cin >> courseName;
for (auto *course: courses) {
if (course->getName() == courseName) {
course->deleteStudent(matriculationNumber);
}
}
std::cout << "Enter student's matriculation number: ";
std::cin >> matriculationNumber;
// Delete student from all courses
for (auto *course: courses) {
course->deleteStudent(matriculationNumber);
}
break;
case 7:
std::cout << "Enter course name: ";
std::cin >> courseName;
for (auto *course: courses) {
if (course->getName() == courseName) {
course->displayCourse();
}
}
break;
case 8:
std::cout << "Courses:" << std::endl;
for (auto *course: courses) {
course->displayCourse();
}
break;
case 9:
quit = true;
break;
default:
std::cout << "Invalid choice." << std::endl;
break;
}
}