A feature-rich C++ console application for task management with achievement tracking and lifecycle management.
- Task Creation: Add multiple tasks with automatic timestamping
- Task Management: Interactive task processing with lifecycle approach
- Achievement System: Automatic saving of completed tasks with timestamps
- Statistics Tracking: Comprehensive statistics and progress monitoring
- Data Persistence: All data saved to text files for later analysis
- ✅ Done: Mark task as completed → Saves to achievements → Removes from active list
- ⏭️ Skip: Move to next task → Cycles back to beginning when reaching end
- 💾 Save: Save current progress to files
- 🚪 Close: Save everything and exit application
An example of screenshot with using of options
- Visual Studio 2022 (recommended) or any C++ compiler
- Windows 10/11 (tested environment)
- Git (for cloning the repository)
-
Clone the repository:
git clone https://github.com/CSwebD/ToDoListApp.git cd ToDoListApp
-
Open Visual Studio 2022
-
File → Open → Project/Solution
-
Select
ToDoListApp.sln
-
Build the solution:
Ctrl+Shift+B
-
Run the application:
Ctrl+F5
# Clone repository
git clone https://github.com/CSwebD/ToDoListApp.git
cd ToDoListApp
# Compile
g++ -o todolist.exe ToDoListApp.cpp
# Run
todolist.exe
The application generates three types of files:
File | Description | Content |
---|---|---|
achievements.txt |
Completed tasks log | Individual completed tasks with timestamps |
statistics.txt |
Overall statistics | Summary of completed vs remaining tasks |
current_tasks.txt |
Current session state | Active tasks with current position |
achievements.txt
COMPLETED TASK: Finish project documentation
Added on: Mon Jun 09 14:30:22 2025
Completed on: Mon Jun 09 15:45:33 2025
---
COMPLETED TASK: Review code changes
Added on: Mon Jun 09 14:31:15 2025
Completed on: Mon Jun 09 16:20:10 2025
---
statistics.txt
=== TODOLIST STATISTICS ===
Total completed tasks: 2
Remaining tasks: 3
Total tasks created: 5
=== COMPLETED TASKS SUMMARY ===
- Finish project documentation (Completed: Mon Jun 09 15:45:33 2025)
- Review code changes (Completed: Mon Jun 09 16:20:10 2025)
Last updated: Mon Jun 09 16:20:10 2025
- Launch the application
- Choose Option 1: Add your tasks for the day/session
- Choose Option 2: Start managing your tasks
- Work through tasks: Mark as done or skip as needed
- Save progress: Use Save option to persist your work
- View achievements: Check the generated text files
Add Tasks → Manage Tasks → [Done/Skip] → Cycle Through → Save → Close
↑ ↓
└── Loop back to beginning ←───────────────┘
- Add all your tasks at the beginning of your session
- Use "Done" for completed tasks to build your achievement history
- Use "Skip" to postpone tasks - they'll cycle back for later
- Save regularly to preserve your progress
- Review achievement files to track your productivity
- Object-Oriented Design: Task and ToDoApp classes
- Memory Management: Dynamic vector management for tasks
- File I/O: Robust file handling for data persistence
- Error Handling: Graceful handling of file operations
Task
: Represents individual tasks with metadataToDoApp
: Main application logic and user interface
- MSVC (Visual Studio 2022) - Primary target
- GCC/MinGW - Cross-platform support
- C++17 Standard - Modern C++ features
- Fork the repository
- Create your feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add some AmazingFeature'
- Push to the branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- GUI version using Qt or Windows Forms
- Task priority levels
- Due date management
- Task categories/tags
- Export to different formats (CSV, JSON)
- Task scheduling and reminders
- OS: Windows 10/11 (primary), Linux/macOS (with minor modifications)
- RAM: Minimal (< 50MB)
- Storage: < 1MB for application, variable for data files
- Compiler: C++17 compatible
- Standard C++ Library
- File system access for data persistence
Build Errors with ctime()
- Solution: Project includes
#define _CRT_SECURE_NO_WARNINGS
Console Closes Immediately
- Solution: Use
Ctrl+F5
instead ofF5
in Visual Studio
Cannot Find Output Files
- Location: Check
Debug/
orRelease/
folder in project directory - Alternative: Look in the same folder as the executable
Permission Errors
- Solution: Run as administrator or check folder permissions
Last updated: June 2025