A comprehensive and user-friendly GPA (Grade Point Average) calculator written in C++. This program helps students calculate their academic GPA based on course grades and credit hours.
- ๐งฎ Accurate GPA Calculation: Calculates weighted GPA based on grades and credit hours
- ๐ Grade Conversion: Converts numerical grades to both GPA points and letter grades
- ๐ค User-Friendly Interface: Clean, intuitive command-line interface
- ๐ Multiple Sessions: Calculate GPA for multiple terms or semesters
- โ Input Validation: Validates grade ranges and credit hour limits
- ๐ Detailed Results: Shows individual course grades and overall GPA
| Numerical Grade | Letter Grade | GPA Points |
|---|---|---|
| 90-100 | A | 4.0 |
| 85-89 | B+ | 3.7 |
| 80-84 | B | 3.3 |
| 75-79 | C+ | 3.0 |
| 70-74 | C- | 2.7 |
| 65-69 | C | 2.3 |
| 60-64 | D | 2.0 |
| 55-59 | D- | 1.3 |
| 50-54 | F | 1.0 |
| 0-49 | F | 0.0 |
- C++ compiler (g++, clang++, or Microsoft Visual C++)
- Windows, macOS, or Linux operating system
-
Clone the repository
git clone https://github.com/yourusername/TermTracker.git cd TermTracker -
Compile the program
g++ -o TermTracker TermTracker.cpp
-
Run the program
./TermTracker
If using MinGW or MSYS2:
g++ -o TermTracker.exe TermTracker.cpp
TermTracker.exe- Start the program - The welcome screen will appear
- Enter your name - First and last name for personalization
- Input course data for each subject:
- Enter the numerical grade (0-100)
- Enter the credit hours (typically 1-6)
- Repeat for all courses
- Finish input - Enter
-1when done adding courses - View results - See individual grades and calculated GPA
- Repeat if needed - Calculate for another term/semester
============================
Welcome to the GPA Calculator
============================
Enter the first name: john
Enter the last name: doe
Hello MR/MISS John Doe
The material (1)
Score out of (100): 85
Enter the number of hours for the subject: 3
The material (2)
Score out of (100): 92
Enter the number of hours for the subject: 4
The material (3)
Score out of (100): -1
===================
Name: John Doe
#material (1) The degree(85) Appreciation (B+)
#material (2) The degree(92) Appreciation (A)
Gpa = (3.82)
===================
formatName(): Capitalizes and formats user namesgetGradePoints(): Converts numerical grades to GPA pointsgetLetterGrade(): Converts numerical grades to letter gradescalculateGPA(): Calculates weighted GPA using quality points method
- โ Grades must be between 0-100
- โ Credit hours must be 6 or less
- โ Handles invalid input gracefully
TermTracker/
โ
โโโ TermTracker.cpp # Main source code
โโโ TermTracker.exe # Compiled executable (Windows)
โโโ README.md # Project documentation
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Follow existing code style and formatting
- Add comments for new functions
- Test your changes thoroughly
- Update documentation as needed
This project is licensed under the MIT License - see the LICENSE file for details.
- Sa3dwy - Initial work - YourGitHub
- Inspired by the need for quick and accurate GPA calculations
- Built with simplicity and usability in mind
- Thanks to the C++ community for excellent documentation
If you have any questions or run into issues, please:
- Check the existing issues on GitHub
- Create a new issue with detailed description
- Contact the author directly
โญ If you found this project helpful, please give it a star! โญ