A simple C++ console-based application to manage studentsβ tasks, exams, and attendance. This project demonstrates real-world OOP design and uses DSA techniques like binary search and priority queues for fast and efficient operations.
- π Add, view, and search tasks (with priority & deadlines)
- π Schedule and manage upcoming exams
- β Mark and track student attendance
- π Binary Search for quick task lookup by title
- β« View Top-K priority tasks per student
- β‘ Notifications dashboard for pending tasks & exams
- π₯ Manage multiple students with fast ID-based lookup
- Object-Oriented Programming (OOP)
- Encapsulation (private members, public APIs)
- Abstraction (high-level interfaces for students/tasks)
- Aggregation (
Student has Tasks, Exams, Attendance
) - Operator Overloading (
operator<
for sorting)
- Data Structures & Algorithms (DSA)
- Binary Search for finding tasks
- Priority Queue (Top-K tasks)
- Unordered Map for O(1) student lookups
- Modern C++17 Features
- Initializer Lists
- Lambda Functions
- Range-based for loops
π¦ Clone the repository:
git clone https://github.com/your-username/student-productivity-suite.git cd student-productivity-suite β‘ Compile:
bash Copy Edit g++ -std=c++17 productivity.cpp -o student-suite π Run:
π ER Diagram This diagram shows relationships between Students, Tasks, Exams, and Attendance.
π¦ File Structure bash Copy Edit π student-productivity-suite βββ productivity.cpp # All classes and logic βββ README.md # Project information and usage βββ er_diagram.png # Entity-Relationship Diagram π Example CLI markdown Copy Edit ===== Student Productivity Suite =====
- Add Student
- Mark Attendance
- View Attendance Report
- Add Assignment (Task)
- View Pending Assignments
- Schedule Exam
- View Upcoming Exams
- Notifications Dashboard
- Exit π TODO Add file-based persistence (save/load student data)
Support editing and deleting tasks/exams
Build a GUI version in future
πββοΈ Author Astha Sharma