The Student Activity Management System is a robust and CLI application designed to efficiently handle student results for three modules in a Semester. This was developed as a university project, this Java console application enables university staff to manage students and their module results seamlessly.
The application provides an intuitive menu-driven interface for university staff to interact with, offering the following options:
- Check available seats: Displays the number of available slots for student registration.
- Register student: Allows for the registration of a student with a unique ID. The ID should contain 8 characters, starting with ‘W’ followed by 7 numeric characters.
- Delete student: Removes a student from the system.
- Find student: Retrieves student details using their unique ID.
- Store student details: Saves all student data to a file for persistence.
- Load student details: Loads student data from a file back into the system.
- View students list: Displays the list of students sorted by their names using a custom sorting algorithm.
- Manage student results: Opens additional options to handle student results, including adding student names and module marks.
- Capacity: Manages up to 100 students per intake.
- Persistence: Save and load student data to/from files to ensure data persistence between sessions. The text file format is as follows: Student name, ID, and three marks for the respective modules.
- Student and Module Classes: Uses classes to handle student results, including student ID, name, and module marks.
- Grading System: Calculates grades based on average marks:
- Distinction: Average >= 80
- Merit: Average >= 70
- Pass: Average >= 40
- Fail: Average < 40
- Summary Report: Generates a summary of the system, including total student registrations and the number of students scoring above 40 marks in each module.
- Detailed Report: Produces a complete report with detailed student information, sorted by average marks from highest to lowest using Bubble Sort.
The PDF report Includes comprehensive test cases to ensure the reliability and performance of the application, covering various scenarios and use cases.
This project is licensed under the MIT License. See LICENSE
for details.
Feel free to explore, modify, and enhance the system. Contributions and feedback are welcome!
Thanks for diving into this project! 🌟 I hope you enjoy the experience as much as I enjoyed creating it! 😊