StudentInformationSystem (1)
StudentInformationSystem (1)
Members:
Figuracion, Aldwane
Requirements:
• Classes and Objects: Implement classes for Student, Course, and Enrollment.
GraduateStudent.
Features:
import java.util.*;
@Override
public void displayDetails() {
super.displayDetails();
System.out.println("Batch Year: " + batchYear);
}
@Override
public boolean isGraduated() {
return true; // Graduate students are considered graduated
}
}
// Course class
class Course {
private String courseId;
private String courseName;
private int credits;
@Override
public String calculateGrade(int midtermGrade, int endtermGrade) {
setGrades(midtermGrade, endtermGrade);
return String.format("%.2f", finalGrade);
}
// Main Class
public class StudentInformationSystem {
private static List<Student> students = new ArrayList<>();
private static List<Course> courses = new ArrayList<>();
private static List<Enrollment> enrollments = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
while (true) {
System.out.println("\n--- Student Information System ---");
System.out.println("1. Add Student");
System.out.println("2. Add Course");
System.out.println("3. Enroll Student");
System.out.println("4. Display Students");
System.out.println("5. Display Courses");
System.out.println("6. Display Enrollments");
System.out.println("7. Calculate Grade");
System.out.println("8. Exit");
System.out.print("Choose an option: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1 : addStudent();
break;
case 2 : addCourse();
break;
case 3 : enrollStudent();
break;
case 4 : displayStudents();
break;
case 5 : displayCourses();
break;
case 6 : displayEnrollments();
break;
case 7 : calculateGrade();
break;
case 8 : {
System.out.println("Exiting...");
return;
}
default : System.out.println("Invalid choice! Try again.");
}
}
}
//Method to add Students
private static void addStudent() {
System.out.print("Enter Student ID: ");
String studentId = scanner.next();
if (isGraduate.equalsIgnoreCase("yes")) {
System.out.print("Enter Batch Year: ");
String batchYear = scanner.next();
students.add(new GraduateStudent(studentId, name, email, batchYear));
} else {
students.add(new Student(name, studentId, email));
}
System.out.println(name + " has been added successfully!");
}
//Method to add course
private static void addCourse() {
System.out.print("Enter Course ID: ");
String courseId = scanner.next();
if (courses.isEmpty()) {
System.out.println("No courses available. Please add courses first.");
return;
}
if (selectedStudent == null) {
System.out.println("Student not found!");
return;
}
if (selectedStudent.isGraduated()) {
System.out.println("This student is already graduated and cannot enroll.");
return;
}
if (!courseExists) {
System.out.println("Course not found!");
return;
}