import-java(2)
import-java(2)
*;
// Student Class
class Student {
private String studentId;
private String name;
private String email;
// Course Class
class Course {
private String courseId;
private String courseName;
private int credits;
public Course(String courseId, String courseName, int credits) {
this.courseId = courseId;
this.courseName = courseName;
this.credits = credits;
}
// Enrollment Class
class Enrollment implements Grading {
private Student student;
private Course course;
private double grade;
@Override
public double calculateGrade(double score) {
grade = score * 0.8; // Example grading logic
return grade;
}
@Override
public void displayGrade() {
System.out.println("Grade for " + student.getName() + " in " +
course.getCourseName() + ": " + grade);
}
}
// StudentInformationSystem Class
class StudentInformationSystem {
private List<Student> students = new ArrayList<>();
private List<Course> courses = new ArrayList<>();
private List<Enrollment> enrollments = new ArrayList<>();
// Add Student
public void addStudent(Student student) {
students.add(student);
System.out.println("Student added: " + student.getName());
}
// Add Course
public void addCourse(Course course) {
courses.add(course);
System.out.println("Course added: " + course.getCourseName());
}
// Enroll Student
public void enrollStudent(String studentId, String courseId) {
Student student = findStudent(studentId);
Course course = findCourse(courseId);
if (student == null) {
System.out.println("Student with ID " + studentId + " not found!");
return;
}
if (course == null) {
System.out.println("Course with ID " + courseId + " not found!");
return;
}
// Find Student by ID
public Student findStudent(String studentId) {
for (Student student : students) {
if (student.getStudentId().equals(studentId)) {
return student;
}
}
return null;
}
// Find Course by ID
public Course findCourse(String courseId) {
for (Course course : courses) {
if (course.getCourseId().equals(courseId)) {
return course;
}
}
return null;
}
// Calculate Grades
public void calculateGrades(double score) {
for (Enrollment enrollment : enrollments) {
enrollment.calculateGrade(score);
}
}
}
// Main Class
public class s {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StudentInformationSystem sis = new StudentInformationSystem();
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 and Grades");
System.out.println("7. Calculate Grades");
System.out.println("8. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
System.out.print("Enter Student ID: ");
String studentId = scanner.nextLine();
System.out.print("Enter Student Name: ");
String name = scanner.nextLine();
System.out.print("Enter Student Email: ");
String email = scanner.nextLine();
sis.addStudent(new Student(studentId, name, email));
break;
case 2:
System.out.print("Enter Course ID: ");
String courseId = scanner.nextLine();
System.out.print("Enter Course Name: ");
String courseName = scanner.nextLine();
System.out.print("Enter Course Credits: ");
int credits = scanner.nextInt();
sis.addCourse(new Course(courseId, courseName, credits));
break;
case 3:
System.out.print("Enter Student ID to Enroll: ");
String enrollStudentId = scanner.nextLine();
System.out.print("Enter Course ID to Enroll In: ");
String enrollCourseId = scanner.nextLine();
sis.enrollStudent(enrollStudentId, enrollCourseId);
break;
case 4:
sis.displayStudents();
break;
case 5:
sis.displayCourses();
break;
case 6:
sis.displayEnrollments();
break;
case 7:
System.out.print("Enter Grade Score: ");
double score = scanner.nextDouble();
sis.calculateGrades(score);
break;
case 8:
System.out.println("Exiting System...");
return;
default:
System.out.println("Invalid choice! Try again.");
}
}
}
}