Skip to content
This repository has been archived by the owner on Aug 19, 2021. It is now read-only.

quyenjd/Mini-Student-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adequate's SMS

This is our project of building a Student Management System (SMS) entirely in C++, which is a part of the CS162 university course. We proudly presents a simple but fully-functional, error-free and user-friendly console application to handle operations belonging to the teaching room, such as adding new course, adding/removing students from a course, exporting scoreboards, etc.

Intro

Click here for full list of features.
View project planner file.

Build

The program is built using TDM-GCC Compiler, GCC 5.1.0, MinGW Windows 32-bit edition. All codes are written in C++11.

Hierachy

We implemented the following structure for the SMS. Each of the objects has its own add, edit, delete and view operations.

Hierachy

You can use the following mermaid script to re-generate the chart.

graph TD
    A(Academic year) --> B(Semesters)
    B --> C(Courses)
    C --> D(Attendance list)
    C --> E(Scoreboard)
    C --> F(Lecturers)
    C --> H(Students)
    G(Class) --> H

Classes

Class diagram

You can use the following mermaid script to re-generate the chart.

classDiagram
    main <|-- SMS
    SMS <|-- csv_handler
    SMS <|-- date
    SMS <|-- multitype
    SMS <|-- interface
    csv_handler <|-- table
    table <|-- list
    table <|-- multitype
    interface <|-- table
    interface <|-- multitype

    class main{
        unifies all and adds user account functions
        (): contributed by @TeamBaconn, @quyenjd
    }
    class SMS{
        a namespace contains all SMS operations
        see 'attendance_list.h', 'class.h', 'courses.h', 'csv_import.h', 'lecturer.h', 'scoreboard.h'
        (): contributed by @iluvyw, @huynhgiadat03012001, @quyenjd
    }
    class csv_handler{
        a csv file reader/writer
        see 'csv.h'
        (): contributed by @quyenjd
    }
    class table{
        a table with life-saving functions
        see 'csv.h'
        (): contributed by @quyenjd
    }
    class list{
        a singly linked list with useful functions
        see 'csv.h'
        (): contributed by @quyenjd
    }
    class multitype{
        a class that accepts all variable types and provides literally every useful function
        see 'csv.h'
        (): contributed by @quyenjd
    }
    class date{
        a class that provides useful operations on dates
        see 'date.h'
        (): contributed by @quyenjd
    }
    class interface{
        a namespace contains I/O methods for consistency purposes
        see 'interface.h'
        (): contributed by @quyenjd
    }				

Mentors

  • Dr. Dinh Ba Tien
  • M.S. Truong Phuoc Loc
  • M.S. Ho Tuan Thanh
  • M.S. Do Nguyen Kha

License

All rights reserved.
csv.h is under Apache License 2.0. Read more.