A console-based Java application that processes student academic records, calculates GPA statistics and weighted averages, determines pass or fail results, and generates a formatted grade report.
- Accepts student name, student ID, and section
- Supports multiple course entries
- Records course codes, GPA grades, and units
- Validates numerical input using exception handling
- Calculates the average GPA
- Calculates the unit-weighted average
- Identifies the highest and lowest GPA
- Determines pass or fail status for each course
- Counts passed and failed subjects
- Assigns overall academic remarks
- Displays a formatted grade report
- Allows multiple calculations in one program session
The weighted average is calculated using:
Weighted Average = Σ(Grade × Units) / Σ(Units)
Courses with more units have a greater effect on the final weighted average.
| Weighted Average | Overall Remarks |
|---|---|
| 1.00 to 1.25 | Summa Cum Laude |
| 1.26 to 1.50 | Magna Cum Laude |
| 1.51 to 1.75 | Cum Laude |
| 1.76 to 3.00 | Passed |
| Above 3.00 | Failed |
A course grade from 1.00 to 3.00 is considered Passed, while a grade above 3.00 is considered Failed.
- Java
- Java Standard Library
Scannerclass for user input- Arrays for storing course data
try-catchfor exception handlingprintf()for formatted console output
-
Install the Java Development Kit (JDK).
-
Verify that Java is installed:
java -version
javac -version- Clone or download this repository.
git clone <repository-url>- Navigate to the project directory.
cd grade-calculator-system- Compile the Java source file.
javac main.java- Run the program.
java main-
Run the application.
-
Enter the student's name, student ID, and section.
-
Enter the number of courses.
-
For each course, provide:
- Course code
- GPA grade from
1.0to5.0 - Number of units
-
The system will calculate and display the complete grade report.
-
Enter
Yto calculate another student's grades orNto exit.
=================================
GRADE CALCULATOR SYSTEM
=================================
Enter Student Name : Juan Dela Cruz
Enter Student ID : 2026-001
Enter Section : BSIT 1A
Enter Number of Courses: 3
Course 1
Enter Course Code : IT101
Enter Grade (1.0 - 5.0): 1.50
Enter Units : 3
Course 2
Enter Course Code : CS101
Enter Grade (1.0 - 5.0): 1.75
Enter Units : 3
Course 3
Enter Course Code : MATH101
Enter Grade (1.0 - 5.0): 2.00
Enter Units : 3
=================================
GRADE REPORT
=================================
Student Name : Juan Dela Cruz
Student ID : 2026-001
Section : BSIT 1A
---------------------------------------------------
Course GPA Units Remarks
---------------------------------------------------
IT101 1.50 3.00 Passed
CS101 1.75 3.00 Passed
MATH101 2.00 3.00 Passed
---------------------------------------------------
Average GPA : 1.75
Weighted Average : 1.75
Highest GPA : 1.5
Lowest GPA : 2.0
Passed Subjects : 3
Failed Subjects : 0
Overall Remarks : Cum Laude
Do you want to compute again? (Y/N): N
Thank you for using the system.
grade-calculator-system/
│
├── main.java
├── README.md
└── CONTRIBUTING.md
Contains the complete source code for the Grade Calculator System, including:
- User input handling
- Input validation
- Course data storage
- GPA calculations
- Weighted average calculations
- Pass or fail evaluation
- Academic remarks
- Formatted grade report generation
Contains the project documentation, installation instructions, usage guide, and sample output.
Contains guidelines for contributing to the project, including instructions for reporting issues, suggesting improvements, submitting changes, and following the project's coding standards.
This project applies several fundamental Java programming concepts:
- Variables and data types
- Arrays
foranddo-whileloopsif-elsestatements- Exception handling
- Input validation
- String manipulation
- Mathematical operations
- Formatted console output
Possible improvements include:
- Object-oriented implementation using
StudentandCourseclasses - File-based storage for student records
- Graphical user interface using JavaFX or Swing
- Database integration
- Grade report export
- Support for customizable grading systems
This project is available for educational and personal use.