Skip to content

kevinwright1-dev/cpp-todo-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

C++ Command Line To-Do List

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.

Features

  • 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.

How to Compile and Run

  1. Ensure you have a C++ compiler (like g++) installed.
  2. Navigate to the project directory in your terminal.
  3. Compile the source code:
    g++ -o todo main.cpp
  4. Run the executable:
    ./todo

Code Structure

  • 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.

Concepts Demonstrated

  • Data Structures (Singly-Linked List Implementation)
  • Pointers and Memory Management (new/delete)
  • Recursion
  • User Input/Output Handling

Future Enhancements

  • 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).

About

A command-line task manager built with C++ using linked lists

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages