TaskBook is a console-based task management application developed in C++ using Object-Oriented Programming (OOP) principles.
The application allows users to create, manage, edit, and organize tasks through a convenient console interface. Each task contains a unique ID, description, priority level, and completion status.
-
Add new tasks.
-
Delete existing tasks.
-
Edit task information.
-
Duplicate (copy) tasks.
-
Mark tasks as completed or uncompleted.
-
Display all tasks.
-
View detailed information about a selected task:
- Task ID
- Task description
- Priority level
- Completion status
TaskBook supports filtering tasks by:
- Task ID
- Completion status
- Priority level
The application also includes sorting functionality to make task management more convenient and efficient.
The project is built using OOP concepts, including:
- Classes and objects
- Constructors and destructors
- Encapsulation
- Class methods
- Data abstraction
The application is organized using a multi-file architecture:
- Header files (.h)
- Source files (.cpp)
- Main program file
This structure improves code readability, maintainability, and scalability.
The project demonstrates work with:
- Dynamic memory allocation
- Pointers
- Proper memory deallocation using destructors
The application implements:
- Task filtering algorithms
- Task sorting algorithms
- Search operations for task management
#include <iostream>
#include <string>
#include <cstdlib>
#include <algorithm>
#include <thread>All interactions are performed through a console-based menu.
Available actions include:
- Add a task
- Delete a task
- Display all tasks
- View task details
- Edit a task
- Copy a task
- Mark a task as completed
- Filter tasks
- Sort tasks
- Exit the program
The main goal of this project is to practice and demonstrate knowledge of:
- C++ programming
- Object-Oriented Programming (OOP)
- Dynamic memory management
- Pointer usage
- Multi-file project organization
- Sorting and filtering algorithms
- Console application development
TaskBook was developed as an educational project for studying advanced C++ programming concepts and software design principles.