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.
Click here for full list of features.
View project planner file.
The program is built using TDM-GCC Compiler, GCC 5.1.0, MinGW Windows 32-bit edition. All codes are written in C++11.
We implemented the following structure for the SMS. Each of the objects has its own add, edit, delete and view operations.
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
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
}
- Dr. Dinh Ba Tien
- M.S. Truong Phuoc Loc
- M.S. Ho Tuan Thanh
- M.S. Do Nguyen Kha
All rights reserved.
csv.h
is under Apache License 2.0. Read more.