A console-based Task Management System written in C, built as part of the COMP2421 Data Structures course at Birzeit University.
- Load tasks from a file (
tasks.txt) - Add, delete, and search for tasks
- Mark tasks as performed (removes from main list)
- Undo the last performed task (restores it to the list)
- View unperformed and performed tasks
- Generate a summary report saved to
Report.txt
- Linked List — stores all unperformed tasks
- Stack — tracks performed tasks for undo functionality
- Queue — manages undone tasks placed back at end of list
gcc task_manager.c -o task_manager
./task_manager
Make sure tasks.txt is in the same folder before running.
Each line in tasks.txt follows this format:
ID#TaskName#Date#Duration(hours)
Example: 10#meeting#22/3/2025#1.5 11#attend lecture#25/3/2025#3
- Load Tasks File
- Add a New Task
- Delete a Task
- Search for a Task
- View Unperformed Tasks
- Perform a Task
- Undo Last Performed Task
- View Performed Tasks
- Generate Summary Report
- Exit
- Course: COMP2421 — Data Structures
- University: Birzeit University
- Semester: Spring 2024/2025