You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The **Student Management System** is a Java-based console application designed to manage student records efficiently. It allows users to perform various operations such as adding, removing, updating, and searching for students. Additionally, it provides features like sorting, filtering, and generating performance summaries. This system is ideal for educational institutions or anyone needing to manage student data in a structured manner.
6
+
7
+
---
8
+
9
+
## Features
10
+
11
+
### 1. **Add Student**
12
+
- Add a new student with unique name and ID.
13
+
- Input validation ensures valid data for name, ID, age, GPA, year, and department.
14
+
15
+
### 2. **Remove Student**
16
+
- Remove a student by their unique ID.
17
+
18
+
### 3. **Update Student**
19
+
- Update a student's information (name, age, GPA, year, or department) using their ID.
20
+
21
+
### 4. **Search Student**
22
+
- Search for a student by their ID.
23
+
24
+
### 5. **List and Sort Students**
25
+
- List all students sorted by GPA, ID, Name, Year, or Department.
26
+
27
+
### 6. **Filter Students**
28
+
- Filter students by Age, GPA, Year, or Department.
29
+
30
+
### 7. **Count Total Students**
31
+
- Display the total number of students in the system.
32
+
33
+
### 8. **Calculate Average GPA**
34
+
- Calculate and display the average GPA of all students.
35
+
36
+
### 9. **Display Top 5 Students**
37
+
- Display the top 5 performing students based on GPA.
38
+
39
+
### 10. **Display Failing Students**
40
+
- Display students with a GPA less than 2.0.
41
+
42
+
### 11. **Generate Summary**
43
+
- Generate a summary including:
44
+
- Average GPA
45
+
- Total number of students
46
+
- Top 5 performing students
47
+
- Failing students
48
+
49
+
---
50
+
51
+
## UML Diagram
52
+
53
+
For a detailed UML class diagram of the project, refer to [UML_Diagram.md](https://github.com/Mohammed-3tef/Student_Management_System/blob/main/UML%20Diagram.md).
54
+
55
+
---
56
+
57
+
## Input Validation
58
+
59
+
The system ensures all inputs are valid:
60
+
-**Name**: Only letters and spaces.
61
+
-**ID**: Unique positive integer.
62
+
-**Age**: Valid age between 0 and 100.
63
+
-**GPA**: Valid GPA between 0.0 and 4.0.
64
+
-**Year**: Must be one of `First`, `Second`, `Third`, or `Fourth`.
65
+
-**Department**: Must be one of `CS`, `IS`, `AI`, `IT`, or `DS`.
66
+
67
+
---
68
+
69
+
## Code Structure
70
+
71
+
### Classes
72
+
1.**`Student`**:
73
+
- Represents a student with attributes: `name`, `ID`, `age`, `GPA`, `year`, and `department`.
74
+
75
+
2.**`StudentSystem`**:
76
+
- Manages a list of students and provides methods for adding, removing, updating, searching, sorting, filtering, and generating summaries.
0 commit comments