A simple command-line To-Do List Manager built in C
The To-Do List Manager is a simple CLI-based program that allows users to:
- Add tasks to a to-do list
- View tasks stored in a file
- Remove tasks by specifying their task number
The program stores tasks in a tasks.txt
file inside the data/
directory, ensuring that tasks persist even after the program is closed.
ToDoListManager/
│── src/ # Source code files
│ ├── main.c # Entry point of the program
│ ├── todo.c # Implementation of to-do list functions
│── include/ # Header files
│ ├── todo.h # Header file with function declarations
│── bin/ # Compiled binary output
│── build/ # Compiled object files (.o)
│── data/ # Stores saved tasks
│ ├── tasks.txt # Task storage file
│── Makefile # Build system
│── README.md # Project documentation
git clone https://github.com/kyealexander/ToDoListManager.git
cd ToDoListManager
Use make
to build the project:
make
make run
Or manually execute:
./bin/todo_list
After running the program, you will see this menu:
To-Do List Manager
1. Add Task
2. View Tasks
3. Remove Task
4. Exit
Choose an option:
- Adding a Task
Enter task: Buy groceries
Task added successfully!
- Viewing Tasks
Your To-Do List:
1. Buy groceries
2. Finish homework
- Removing a Task
Enter task number to remove: 1
Task removed successfully!
✔ Persistent task storage using a text file
✔ Simple and efficient CLI-based interface
✔ Error handling for file operations
✔ Easy-to-read and extendable codebase
- Edit
src/main.c
to modify the menu or UI. - Modify
src/todo.c
to add more features (e.g., task editing). - Use
include/todo.h
for function declarations.
make clean
make
- ✅ Task editing functionality
- ✅ Mark tasks as completed
- ✅ Save tasks in JSON or CSV format
- ✅ Implement coloured terminal output
This project is open-source and available under the MIT License.
Want to contribute? Feel free to fork the repository and submit a pull request! 🚀