diff --git a/src/CourseRegistrationStarter/Main.java b/src/CourseRegistrationStarter/Main.java index 8f06373..263bba5 100644 --- a/src/CourseRegistrationStarter/Main.java +++ b/src/CourseRegistrationStarter/Main.java @@ -2,13 +2,24 @@ package CourseRegistrationStarter; public class Main { public static void main(String[] args) { - // TODO: - // 1. Create at least 3 courses - // 2. Create 1 student - // 3. Create a registration system - // 4. Add courses to the system - // 5. Register the student in some courses - // 6. Drop one course - // 7. Print the final registered course list + Course c1 = new Course("Introduction to Programming", "CS101", 30); + Course c2 = new Course("Data Structures", "CS201", 25); + Course c3 = new Course("Algorithms", "CS301", 20); + + Student student = new Student("Alice", "S1001"); + + RegistrationSystem system = new RegistrationSystem(); + system.addCourseToSystem(c1); + system.addCourseToSystem(c2); + system.addCourseToSystem(c3); + + student.addCourse(c1); + student.addCourse(c2); + student.addCourse(c3); + + student.dropCourse(c2); + + System.out.println("Registered courses for " + student.getName() + ":"); + student.showRegisteredCourses(); } } diff --git a/src/CourseRegistrationStarter/RegistrationSystem.java b/src/CourseRegistrationStarter/RegistrationSystem.java index 934f222..f7af0cd 100644 --- a/src/CourseRegistrationStarter/RegistrationSystem.java +++ b/src/CourseRegistrationStarter/RegistrationSystem.java @@ -9,16 +9,21 @@ public class RegistrationSystem { } public void addCourseToSystem(Course c) { - // TODO: Add the course to the system + courses.add(c); } public Course findCourseByCode(String code) { - // TODO: Search for a course by course code - // Return the matching course if found, otherwise return null + for (Course c : courses) { + if (c.getCourseCode().equals(code)) { + return c; + } + } return null; } public void showAllCourses() { - // TODO: Print all courses in the system + for (Course c : courses) { + System.out.println(c.getCourseCode() + " - " + c.getCourseName() + " (Capacity: " + c.getCapacity() + ")"); + } } } diff --git a/src/CourseRegistrationStarter/Student.java b/src/CourseRegistrationStarter/Student.java index 02c11d8..89907f9 100644 --- a/src/CourseRegistrationStarter/Student.java +++ b/src/CourseRegistrationStarter/Student.java @@ -21,19 +21,26 @@ public class Student { } public boolean addCourse(Course c) { - // TODO: Register the student in the course if capacity allows - // Return true if registration was successful, otherwise false + boolean success = c.reduceCapacity(); + if (success) { + registeredCourses.add(c); + return true; + } return false; } public boolean dropCourse(Course c) { - // TODO: Remove the course from the student's list - // Restore the course capacity if removal was successful - // Return true if the course was dropped, otherwise false + boolean removed = registeredCourses.remove(c); + if (removed) { + c.increaseCapacity(); + return true; + } return false; } public void showRegisteredCourses() { - // TODO: Print all registered courses + for (Course c : registeredCourses) { + System.out.println(c.getCourseCode() + " - " + c.getCourseName()); + } } } \ No newline at end of file