Skip to content

international-digital-university/Student-Management-System

Repository files navigation

Student Management System (Console App)

A simple console-based Student Management System written in C++.
Supports adding, updating, deleting, searching, sorting students, and saving/loading from a CSV file.


Features

  • Add, update, delete students
  • Display all students
  • Search by ID or name
  • Statistics (total, average, min, max grades)
  • Sort by ID, name, or average
  • Save/load students to/from CSV file

Requirements

  • C++17 compiler (g++, clang++, MSVC)
  • CMake (optional, recommended for large projects)
  • Ninja or MinGW Makefiles (optional, for building with CMake)

Quickstart

Using CMake (Recommended)

Cross-platform solution for Windows and Linux.

  1. Create a build directory:
cmake -S . -B build -G "MinGW Makefiles"

On Linux, you can use -G "Unix Makefiles" or -G "Ninja" if installed.

  1. Build the project:
cmake --build build
  1. Run the executable:
  • Windows:
build\main.exe
  • Linux:
./build/main

Using g++ directly (Simple)

For small projects or if you don’t want to use CMake:

g++ main.cpp FileManager.cpp InputUtils.cpp StudentRepository.cpp -std=c++17 -Wall -Wextra -O2 -o main

Run:

  • Windows:
main.exe
  • Linux:
./main

File Structure

.
├── main.cpp
├── StudentRepository.cpp
├── StudentRepository.h
├── FileManager.cpp
├── FileManager.h
├── InputUtils.cpp
├── InputUtils.h
├── students.csv      # Optional, auto-created at runtime
├── README.md
├── .gitignore
└── CMakeLists.txt    # Optional, for CMake builds

Notes

  • Make sure students.csv exists or will be created in the same folder as the executable.
  • On Windows, it is recommended to use MSYS2 or MinGW for building with CMake.
  • On Linux, make sure you have g++ and make installed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors