Cel: zbudować prostą konsolową listę zadań. Poznasz: List
dotnet new console -n TodoApp.Program.cs na kod poniżej.dotnet run.// Program.cs
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var todos = new List();
while (true)
{
Console.WriteLine();
Console.WriteLine("=== ToDo — menu ===");
Console.WriteLine("1) Pokaż wszystkie zadania");
Console.WriteLine("2) Dodaj zadanie");
Console.WriteLine("3) Usuń zadanie (po numerze)");
Console.WriteLine("4) Wyczyść listę");
Console.WriteLine("5) Wyjdź");
Console.Write("Wybierz opcję (1-5): ");
var choice = Console.ReadLine();
if (choice == null) break;
switch (choice.Trim())
{
case "1":
if (todos.Count == 0)
{
Console.WriteLine("Brak zadań na liście.");
}
else
{
Console.WriteLine("Zadania:");
for (int i = 0; i < todos.Count; i++)
Console.WriteLine($"{i + 1}. {todos[i]}");
}
break;
case "2":
Console.Write("Wpisz treść zadania: ");
var text = Console.ReadLine();
if (!string.IsNullOrWhiteSpace(text))
{
todos.Add(text.Trim());
Console.WriteLine("Dodano zadanie.");
}
else
{
Console.WriteLine("Puste zadanie nie zostało dodane.");
}
break;
case "3":
Console.Write("Podaj numer zadania do usunięcia: ");
var numStr = Console.ReadLine();
if (int.TryParse(numStr, out int num) && num >= 1 && num <= todos.Count)
{
todos.RemoveAt(num - 1);
Console.WriteLine("Usunięto zadanie.");
}
else
{
Console.WriteLine("Nieprawidłowy numer.");
}
break;
case "4":
todos.Clear();
Console.WriteLine("Lista wyczyszczona.");
break;
case "5":
Console.WriteLine("Do zobaczenia!");
return;
default:
Console.WriteLine("Nieznana opcja. Wybierz 1-5.");
break;
}
}
}
}
dotnet new console -n TodoApp
cd TodoApp
// zastąp Program.cs powyższym kodem
dotnet run
Dodaj możliwość edycji istniejącego zadania (wybór numeru i nowej treści).
Zapisuj listę do pliku i wczytuj przy starcie (System.IO.File).
Dodaj priorytety lub znaczniki 'zrobione/niezrobione' oraz możliwość filtrowania.