0% found this document useful (0 votes)
4 views

Programming 1 Assignment Unit 5

Uploaded by

Malou Majok
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Programming 1 Assignment Unit 5

Uploaded by

Malou Majok
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 7

Course Enrollment and Grade Management System

// Student class

public class Student {

private String name;

private int id;

private List<Course> enrolledCourses;

public Student(String name, int id) {

this.name = name;

this.id = id;

this.enrolledCourses = new ArrayList<>();

public void enrollCourse(Course course) {

enrolledCourses.add(course);

public void assignGrade(Course course, int grade) {

// update the student's grade for the course

public String getName() {

return name;

}
public int getId() {

return id;

// Course class

public class Course {

private String code;

private String name;

private int maximumCapacity;

private static int totalEnrolledStudents = 0;

public Course(String code, String name, int maximumCapacity) {

this.code = code;

this.name = name;

this.maximumCapacity = maximumCapacity;

totalEnrolledStudents++;

public static int getTotalEnrolledStudents() {

return totalEnrolledStudents;

public String getCode() {


return code;

public String getName() {

return name;

// CourseManagement class

public class CourseManagement {

private static List<Course> courses = new ArrayList<>();

private static Map<String, Double> overallGrades = new HashMap<>();

public static void addCourse(String code, String name, int maximumCapacity) {

Course course = new Course(code, name, maximumCapacity);

courses.add(course);

public static void enrollStudent(Student student, Course course) {

student.enrollCourse(course);

if (course.getMaximumCapacity() <= course.getTotalEnrolledStudents()) {

System.out.println("Course is full. Cannot enroll student.");

}
public static void assignGrade(Student student, Course course, int grade) {

student.assignGrade(course, grade);

overallGrades.put(student.getName(), overallGrades.getOrDefault(student.getName(), 0.0) +


grade);

public static double calculateOverallGrade(Student student) {

return overallGrades.getOrDefault(student.getName(), 0.0) / student.getEnrolledCourses().size();

// Administrator interface

import java.util.Scanner;

public class AdministratorInterface {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

while (true) {

System.out.println("Welcome to the Course Enrollment and Grade Management System!");

System.out.println("1. Add a new course");

System.out.println("2. Enroll students");

System.out.println("3. Assign grades");

System.out.println("4. Calculate overall course grades");

System.out.println("5. Exit");
int choice = scanner.nextInt();

switch (choice) {

case 1:

System.out.print("Enter course code: ");

String code = scanner.next();

System.out.print("Enter course name: ");

String name = scanner.next();

System.out.print("Enter maximum capacity: ");

int maximumCapacity = scanner.nextInt();

CourseManagement.addCourse(code, name, maximumCapacity);

break;

case 2:

System.out.print("Enter student ID: ");

int id = scanner.nextInt();

System.out.print("Enter student name: ");

String studentName = scanner.next();

Student student = new Student(studentName, id);

while (true) {

System.out.print("Enter course code to enroll (or 'q' to quit): ");

String enrollCode = scanner.next();

if (enrollCode.equalsIgnoreCase("q")) {

break;
}

for (Course course : CourseManagement.courses) {

if (course.getCode().equals(enrollCode)) {

CourseManagement.enrollStudent(student, course);

break;

break;

case 3:

System.out.print("Enter student ID: ");

id = scanner.nextInt();

System.out.print("Enter course code: ");

enrollCode = scanner.next();

for (Course course : CourseManagement.courses) {

if (course.getCode().equals(enrollCode)) {

System.out.print("Enter grade: ");

int grade = scanner.nextInt();

CourseManagement.assignGrade(new Student(studentName, id), course, grade);

break;

break;
case 4:

System.out.print("Enter student ID: ");

id = scanner.nextInt();

double overallGrade = CourseManagement.calculateOverallGrade(new


Student(studentName, id));

System.out.println("Overall grade: " + overallGrade);

case 5:

System.exit(0);

This implementation provides a basic framework for the Course Enrollment and Grade Management
System. It includes the Student and Course classes with instance variables and methods to manage
enrollment and grades. The CourseManagement class provides static methods to add courses, enroll
students, assign grades, and calculate overall course grades. The administrator interface provides a
command-line interface for administrators to interact with the system.

You might also like