An open API service indexing awesome lists of open source software.

https://github.com/yushikuni/cpp_todo

Simple console-based ToDo list app in C++. Tasks are stored in a local text file. Great for learning file I/O and logic structuring.
https://github.com/yushikuni/cpp_todo

cli cpp cpp17 portfolio-website unfinished-project

Last synced: 27 days ago
JSON representation

Simple console-based ToDo list app in C++. Tasks are stored in a local text file. Great for learning file I/O and logic structuring.

Awesome Lists containing this project

README

          

# โœ… Console ToDo List (C++)

A simple task manager built in C++ that runs in the console and stores tasks in a text file.
Allows users to add, list, and mark tasks as complete. Great practice for file I/O, CLI interaction and logic structuring in C++.

---

## ๐Ÿ› ๏ธ Technologies

- C++17
- Standard Library only (``, ``, ``, ``)
- Console UI
- File-based persistence (`example.txt`)

---

## ๐Ÿ“‹ Features

- โž• Add a new task with name and description
- ๐Ÿ“„ List all tasks stored in file
- โœ”๏ธ Mark a task as completed
- ๐Ÿงพ Each task has: ID, completed flag, title, and description
- ๐Ÿ’พ File I/O via `fstream` โ€“ tasks stored in `example.txt`

---

## โ–ถ๏ธ How to Run

### Compile (Linux/macOS):
```bash
g++ ToDoList.cpp -o todo
./todo
```

### Compile (Windows):
```bash
g++ ToDoList.cpp -o todo.exe
todo.exe
```

### Sample Output
```bash
Option Menu:
ANY OTHER KEYS WILL IMMEDIATELY TERMINATE THE PROGRAM...
0 - For terminate program
1 - For Add New Task
2 - For Print All Tasks
3 - For Update Tasks
You Choose:
```

## ๐Ÿ“‚ File Structure

- ToDoList.cpp

- example.txt โ† generated automatically

- README.md

## ๐Ÿงน Possible Improvements

- Refactor into multiple source files (TaskManager.cpp, main.cpp)

- Add better parsing (support for multi-word input)

- Store tasks in CSV or JSON format

- Improve update logic (rewrite file instead of line edits)

- Add timestamps and task categories

๐Ÿ‘ฉโ€๐Ÿ’ป Author

Made by Kvฤ›tuลกe (Yushikuni) โ€“ practicing real-world C++ logic and data persistence.