Skip to content

jsramesh1990/Student-Grade-Evaluator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Grade Manager (C++ Project)

A modern C++ application that reads student marks from a CSV file, calculates totals, averages, and grades, and exports results in CSV & JSON formats. Built with clean class-based design, modular structure, and optional GoogleTest unit testing.

✨ Features Overview 🧱 Object-Oriented Design

Student class handles:

Marks

Total calculation

Average calculation

Grade evaluation

πŸ“₯ CSV Input

Reads students from:

data/students.csv

Format:

Name Marks1 Marks2 Marks3

πŸ“€ Exports Output

data/results.csv

data/results.json

βž— Grade Logic Average Grade β‰₯ 90 A β‰₯ 75 B β‰₯ 60 C β‰₯ 40 D < 40 F πŸ“ Project Structure student_grade_manager/ β”œβ”€β”€ src/ β”‚ β”œβ”€β”€ main.cpp β”‚ β”œβ”€β”€ student.h β”‚ β”œβ”€β”€ student.cpp β”‚ β”œβ”€β”€ file_handler.h β”‚ └── file_handler.cpp β”œβ”€β”€ tests/ β”‚ └── test_student.cpp β”œβ”€β”€ data/ β”‚ └── students.csv β”œβ”€β”€ build/ β”œβ”€β”€ Makefile β”œβ”€β”€ CMakeLists.txt └── README.md

βš™οΈ Build & Run πŸ›  Using Makefile (Recommended) Build: make

Run: make run

Clean: make clean

πŸ§ͺ Unit Testing with GoogleTest

Tests are inside:

tests/

Run using CMake:

ctest

πŸ“˜ Sample Input (students.csv) Alice 95 92 88 Bob 78 74 80 Charlie 60 65 62 David 45 42 40 Eve 25 30 20

πŸ“Š Output Example (results.json) [ { "name": "Alice", "total": 275, "average": 91.66, "grade": "A" } ]

πŸš€ Future Enhancements πŸ”Ή Planned Features

Interactive CLI (add/edit/delete students)

JSON library support (nlohmann-json)

Exception handling improvements

SQLite database support

REST API version (crow / cpp-httplib)

PDF & chart report generation

Performance benchmark tests

πŸ‘€ Author

SSR Embedded Systems Developer β€’ C++ β€’ Linux/Yocto β€’ Drivers

About

This project calculates total marks, average, and grade for a student based on three subject marks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published