diff --git a/.idea/misc.xml b/.idea/misc.xml index a20905f..ea71d50 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/src/CourseRegistrationStarter/Main.java b/src/CourseRegistrationStarter/Main.java index 8f06373..a53a683 100644 --- a/src/CourseRegistrationStarter/Main.java +++ b/src/CourseRegistrationStarter/Main.java @@ -4,11 +4,26 @@ public class Main { public static void main(String[] args) { // TODO: // 1. Create at least 3 courses + Course AdvancedProgramming = new Course("Advanced Programming","123",2); + Course DataStructures = new Course("Data Structures","456",3); + Course DatabaseSystems = new Course("Database Systems","789",2); // 2. Create 1 student + Student Hadi = new Student("Hadi","40033037"); // 3. Create a registration system + RegistrationSystem CS = new RegistrationSystem(); // 4. Add courses to the system + CS.addCourseToSystem(AdvancedProgramming); + CS.addCourseToSystem(DataStructures); + CS.addCourseToSystem(DatabaseSystems); // 5. Register the student in some courses + Hadi.addCourse(DataStructures); + Hadi.addCourse(DatabaseSystems); + Hadi.addCourse(AdvancedProgramming); // 6. Drop one course + Hadi.dropCourse(DataStructures); // 7. Print the final registered course list + Hadi.showRegisteredCourses(); + CS.showAllCourses(); + } } diff --git a/src/CourseRegistrationStarter/RegistrationSystem.java b/src/CourseRegistrationStarter/RegistrationSystem.java index 934f222..165bc5d 100644 --- a/src/CourseRegistrationStarter/RegistrationSystem.java +++ b/src/CourseRegistrationStarter/RegistrationSystem.java @@ -9,16 +9,34 @@ public class RegistrationSystem { } public void addCourseToSystem(Course c) { - // TODO: Add the course to the system + if (courses.contains(c)) { + return; + } + else { + 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.getCourseName()+" "+c.getCourseCode()+" "+c.getCapacity()); + } + } + public Course findCourseByName(String name) { + for (Course c : courses) { + if (c.getCourseName().equals(name)) { + return c; + } + } + return null; } } diff --git a/src/CourseRegistrationStarter/Student.java b/src/CourseRegistrationStarter/Student.java index 02c11d8..5a0ca75 100644 --- a/src/CourseRegistrationStarter/Student.java +++ b/src/CourseRegistrationStarter/Student.java @@ -21,19 +21,28 @@ 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 + if (registeredCourses.size() <= 3) { + if (c.getCapacity() > 0) { + registeredCourses.add(c); + c.reduceCapacity(); + 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 + if (registeredCourses.contains(c)) { + registeredCourses.remove(c); + c.increaseCapacity(); + return true; + } return false; } public void showRegisteredCourses() { - // TODO: Print all registered courses + for (Course c : registeredCourses) { + System.out.println(c.getCourseName()+" "+c.getCourseCode()); + } } } \ No newline at end of file