A console based task management application implemented in C++. This program demonstrates core computer science concepts by using a custom singly-linked list to store, manipulate, and display user tasks.
- Add Tasks: Insert a new task at any specific position in the list.
- Delete Tasks: Remove a task from a specific position.
- View Count: Print the current number of tasks.
- Print List: Display all tasks in order from first to last.
- Reverse Print: Display all tasks in reverse order using recursion.
- Input Validation: Handles invalid menu choices and positional input.
- Ensure you have a C++ compiler (like g++) installed.
- Navigate to the project directory in your terminal.
- Compile the source code:
g++ -o todo main.cpp
- Run the executable:
./todo
main.cpp
: Contains all source code.taskNode
Struct: Represents a node in the linked list, holding a task string and a pointer to the next node.taskList
Struct: Manages the linked list, holding a pointer to the head node and an integer tracking the task count.- The program uses iterative traversal for most functions and recursion specifically for printing the list in reverse.
- Data Structures (Singly-Linked List Implementation)
- Pointers and Memory Management (
new
/delete
) - Recursion
- User Input/Output Handling
- Persistence: Save and load the task list from a file.
- A graphical user interface (GUI) using a framework like Qt.
- Additional task properties (due dates, priorities, categories).