The TO-DO List Application is a C++ project built using a Linked List Data Structure. It provides a command-line interface for managing tasks, including adding, removing, editing, and tracking task completion status.
This project was developed as part of the Data Structures course at Assiut National University under the supervision of Prof. Dr. Maged Askar.
- Add Task: Insert a new task into the list.
- Remove Task: Delete a specific task by its index.
- Edit Task: Modify the description of an existing task.
- Mark Task as Done: Update the status of a task to "completed."
- Show Done Tasks: Display all completed tasks.
- Show Not Done Tasks: Display all pending tasks.
- Show Removed Tasks: View tasks that have been removed.
- Return Removed Task: Restore a previously removed task.
- Return Done Task: Revert a completed task to an undone status.
- Count Tasks: Display the total number of tasks in the list.
- Delete All Tasks: Clear the entire task list.
- Check Task Status: Verify if a specific task is marked as done.
- A menu-driven interface allows users to easily navigate and interact with the application.
- Run the Program: The application starts by displaying a welcome message and a menu of options.
- Select an Option: Choose an action from the menu (e.g., add, remove, edit, or mark a task as done).
- Provide Input: Enter the required details (e.g., task description or index).
- View Results: The application performs the selected action and displays the updated task list or relevant information.
- Linked List Data Structure: Used to store and manage tasks efficiently.
- ToDoList Class: Contains methods for all task-related operations.
- Main Function: Implements the command-line interface and handles user input.
| Method | Description |
|---|---|
addTask(string) |
Adds a new task to the list. |
removeTask(int) |
Removes a task by its index. |
editTaskDescription(int) |
Edits the description of a task. |
markTaskDone() |
Marks a task as completed. |
showDoneTasks() |
Displays all completed tasks. |
showNotDoneTasks() |
Displays all pending tasks. |
showRemovedTasks() |
Displays all removed tasks. |
returnRemovedTask(int) |
Restores a removed task to the list. |
returnDoneTask() |
Reverts a completed task to pending status. |
deleteAllTasks() |
Clears all tasks from the list. |
countTasks() |
Returns the total number of tasks. |
checkTaskDone(int) |
Checks if a specific task is marked as done. |
- Prof. Dr. Maged Askar for project supervision and guidance.
Let's connect! Feel free to reach out or follow me on these platforms:
Abdullah Mahmoud Samir
Faculty of Computers and Artificial Intelligence
Assiut National University
Data Structures Course (CS202) - Second Level