A simple terminal-based task manager written in C. It supports priorities, filtering by manager, and saving/loading tasks from a text file.
- Add new task: description, manager, priority (High/Low), and due date.
- Update a task: edit any field by index.
- Delete a task: with confirmation prompt.
- Show tasks: list all tasks with details and indices.
- Urgent tasks: show only high-priority tasks (highlighted in red).
- Tasks by manager: filter tasks assigned to a specific manager.
- Save tasks to file (CSV): write tasks to
tasks.csvwith proper quoting. - Load tasks from file (CSV): read tasks from
tasks.csv. - Show tasks sorted by due date: chronological view by due date.
- Search tasks: find by text in description or manager.
- Overdue highlighting: shows days remaining, due today, or overdue by N days.
- Unsaved-changes prompt: offers to save before exiting if you made changes.
On macOS (Homebrew):
brew update
brew install gcc
gcc --versionOn Linux (Debian/Ubuntu):
sudo apt update
sudo apt install build-essential
gcc --versiongcc -o tasks tasks.c./tasksThe program saves to tasks.csv with one task per line in this schema:
"description","manager",priority,creation_day,creation_month,creation_year,due_day,due_month,due_year
Note:
- Description and manager are quoted, with double quotes escaped by doubling (RFC 4180 style).