Compare commits

4 Commits
4 changed files with 95 additions and 16 deletions
+28 -4
View File
@@ -70,7 +70,12 @@ public class Main {
boolean success;
switch (choice) {
case 1:
//TODO
success = school.registerStudent(username, password);
if (success) {
System.out.println(" Student registered successfully!");
} else {
System.out.println(" Username already exists!");
}
break;
case 2:
success = school.registerTeacher(username, password);
@@ -103,7 +108,12 @@ public class Main {
switch (choice) {
case 1:
//TODO
Student student = school.loginStudent(username, password);
if (student != null) {
studentMenu(student);
} else {
System.out.println(" Invalid username or password!");
}
break;
case 2:
Teacher teacher = school.loginTeacher(username, password);
@@ -141,7 +151,7 @@ public class Main {
enrollInCourse(student);
break;
case 3:
//System.out.print(student.getMyCoursesDisplay());
System.out.print(student.getMyCoursesDisplay());
break;
case 4:
System.out.println(" Goodbye, " + student.getUsername() + "!");
@@ -153,7 +163,21 @@ public class Main {
}
private static void enrollInCourse(Student student) {
//TODO
System.out.print(school.getAllCoursesDisplay());
System.out.print("\nEnter Course ID to enroll: ");
int courseId = getIntInput();
Course course = school.findCourseById(courseId);
if (course == null) {
System.out.println(" Course not found! Please enter a valid ID.");
return;
}
if (student.enrollInCourse(course)) {
System.out.println(" Successfully enrolled in " + course.getName());
} else {
System.out.println(" You are already enrolled in this course!");
}
}
// ==================== TEACHER MENU ====================
+24 -1
View File
@@ -11,5 +11,28 @@ public class Student extends User {
this.enrolledCourses = new ArrayList<>();
}
//TODO
public boolean enrollInCourse(Course course) {
if (enrolledCourses.contains(course)) {
return false;
}
enrolledCourses.add(course);
course.addStudent(this);
return true;
}
public List<Course> getEnrolledCourses() {
return enrolledCourses;
}
public String getMyCoursesDisplay() {
if (enrolledCourses.isEmpty()) {
return " You are not enrolled in any course yet.";
} else {
StringBuilder sb = new StringBuilder("\n My Courses:\n");
for (int i = 0; i < enrolledCourses.size(); i++) {
sb.append(" ").append(i+1).append(". ").append(enrolledCourses.get(i)).append("\n");
}
return sb.toString();
}
}
}
+12 -8
View File
@@ -32,22 +32,26 @@ public class Teacher extends User {
return myCourses;
}
public void showMyCourses() {
public String getMyCoursesDisplay() {
if (myCourses.isEmpty()) {
System.out.println(" You don't teach any course yet.");
return " You don't teach any course yet.";
} else {
System.out.println("\n My Courses:");
StringBuilder sb = new StringBuilder("\n My Courses:\n");
for (int i = 0; i < myCourses.size(); i++) {
System.out.println(" " + (i+1) + ". " + myCourses.get(i));
sb.append(" ").append(i+1).append(". ").append(myCourses.get(i)).append("\n");
}
return sb.toString();
}
}
public void showStudentsInCourse(Course course) {
public boolean checkCourseOwnership(Course course) {
return myCourses.contains(course);
}
public String getStudentsDisplayForCourse(Course course) {
if (!myCourses.contains(course)) {
System.out.println(" You don't teach this course!");
return;
return "You don't teach this course!";
}
course.showStudents();
return course.getStudentsDisplay();
}
}
+31 -3
View File
@@ -16,7 +16,28 @@ public class SchoolSystem {
}
// ========== Student Management ==========
//TODO
public boolean registerStudent(String username, String password) {
if (findStudent(username) != null) {
return false;
}
students.add(new Student(username, password));
return true;
}
public Student loginStudent(String username, String password) {
Student student = findStudent(username);
if (student != null && student.checkPassword(password)) {
return student;
}
return null;
}
private Student findStudent(String username) {
for (Student s : students) {
if (s.getUsername().equals(username)) return s;
}
return null;
}
// ========== Teacher Management ==========
public boolean registerTeacher(String username, String password) {
@@ -44,12 +65,19 @@ public class SchoolSystem {
// ========== Course Management ==========
public boolean addCourseToSystem(String courseName) {
//TODO
for (Course c : allCourses) {
if (c.getName().equals(courseName)) {
return false;
}
}
allCourses.add(new Course(courseName));
return true;
}
public Course findCourseById(int id) {
//TODO
for (Course c : allCourses) {
if (c.getId() == id) return c;
}
return null;
}