Time to put everything together! This final project combines classes, lists, file I/O, LINQ, and exception handling into one fully working console app.
YOUR TASK
Your program must include all of the following:
Classes
A Task class
Properties: Id, Title, IsComplete
Constructor to set them
Commands
ADD title
LIST
DONE id
DELETE id
QUIT
File I/O
Save tasks to tasks.txt on QUIT
Load tasks from file on start
Use try/catch around I/O
LINQ
Use LINQ to filter pending tasks
Show pending count in LIST
Architecture hint
Suggested structure:
1. class Task { public int Id; public string Title; public bool IsComplete; }
2. List<Task> tasks = new List<Task>();
3. Load tasks from file at start with a helper method
4. Main loop: read command → parse → execute
5. For LINQ: tasks.Where(t => !t.IsComplete).Count()
6. Save: loop tasks, write each as CSV line e.g. 1,Buy milk,False
7. Load: read lines, split by comma, reconstruct Task objects
Input format hint
For the checker, the stdin will be: ADD Buy groceries ADD Read a book DONE 1 LIST QUIT
Make sure LIST shows each task with its ID, title, and status (✓ or pending). The checker looks for "pending", task IDs, and a QUIT/goodbye message.
Sample interaction:
> ADD Buy groceries
Task added: [1] Buy groceries
> ADD Read a book
Task added: [2] Read a book
> DONE 1
Task 1 marked complete.
> LIST
[1] Buy groceries ✓
[2] Read a book (pending)
Pending: 1 task(s)
> QUIT
Tasks saved. Goodbye!
Code Editor
Ready
Output
Console
Console initialized...
Ready for Final Project: Console Task Manager
> This is the capstone project — take your time!
> Test with "Check My Code" when ready.
> Complete the course once it passes!