using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Program
{
static List<string> tasks = new List<string>();
static string fileName = "tasks.txt";
static void Main()
{
LoadTasks();
bool running = true;
while (running)
{
Console.WriteLine("\n--- Список дел ---");
Console.WriteLine("1. Добавить дело");
Console.WriteLine("2. Показать все дела");
Console.WriteLine("3. Удалить дело (по номеру)");
Console.WriteLine("4. Выход");
Console.Write("Выберите действие: ");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
AddTask();
break;
case "2":
ShowTasks();
break;
case "3":
DeleteTask();
break;
case "4":
running = false;
break;
default:
Console.WriteLine("Неверный ввод, повторите.");
break;
}
}
}
static void LoadTasks()
{
if (File.Exists(fileName))
{
tasks = File.ReadAllLines(fileName).ToList();
}
}
static void SaveTasks()
{
File.WriteAllLines(fileName, tasks);
}
static void AddTask()
{
Console.Write("Введите новое дело: ");
string task = Console.ReadLine();
tasks.Add(task);
SaveTasks();
Console.WriteLine("Дело добавлено.");
}
static void ShowTasks()
{
if (tasks.Count == 0)
{
Console.WriteLine("Список дел пуст.");
return;
}
for (int i = 0; i < tasks.Count; i++)
{
Console.WriteLine($"{i + 1}. {tasks[i]}");
}
}
static void DeleteTask()
{
ShowTasks();
if (tasks.Count == 0) return;
Console.Write("Введите номер дела для удаления: ");
if (int.TryParse(Console.ReadLine(), out int index) && index >= 1 && index <= tasks.Count)
{
tasks.RemoveAt(index - 1);
SaveTasks();
Console.WriteLine("Дело удалено.");
}
else
{
Console.WriteLine("Неверный номер.");
}
}
}