1
resposta

Sistema de gerenciamento de tarefas

Dictionary<string, string> tarefas = new Dictionary<string, string>
{
    {"Tarefa1", "Yasmin" },
    {"Tarefa2", "Davi" },
    {"Tarefa3", "Suzi" },
    {"Tarefa4", "Jenivon" },
    {"Tarefa5", "teddy" }

};

while (true)
{
    Console.WriteLine("|________________________________|");
    Console.WriteLine("|              TO DO             |");
    Console.WriteLine("|                                |");
    Console.WriteLine("|      [1] - Adicionar tarefa    |");
    Console.WriteLine("|      [2] - Remover tarefa      |");
    Console.WriteLine("|      [3] - Listar tarefas      |");
    Console.WriteLine("|                                |");
    Console.WriteLine("|________________________________|");

    Console.WriteLine("\nDigite a opção desejada: ");
    string opcao = Console.ReadLine()!;
    
    switch (opcao)
    {
        case "1":
            Console.Clear();
            Console.WriteLine("Adicione uma tarefa: ");
            string novaTarefa = Console.ReadLine()!;
            
            Console.WriteLine("Digite o responsável pela tarefa: ");
            string responsavel = Console.ReadLine()!;
            
            tarefas.Add(novaTarefa, responsavel);
            Console.WriteLine($"Tarefa '{novaTarefa}' adicionada com sucesso, responsável: {responsavel}.");
            
            Console.WriteLine("\nPressione qualquer tecla para continuar...");
            Console.ReadKey();
            break;
        case "2":
            Console.Clear();
            Console.WriteLine("Tarefa a ser removida: ");
            string tarefaARemover = Console.ReadLine()!;
            
            if (tarefas.ContainsKey(tarefaARemover))
            {
                tarefas.Remove(tarefaARemover);
                Console.WriteLine($"Tarefa '{tarefaARemover}' removida com sucesso.");
            }
            else
            {
                Console.WriteLine($"Tarefa '{tarefaARemover}' não encontrada.");
            }
            Console.WriteLine("\nPressione qualquer tecla para continuar...");
            Console.ReadKey();
            break;  
        case "3":
            Console.Clear();
            Console.WriteLine("\nLista de tarefas: ");
            foreach (var tarefa in tarefas)
            {
                Console.WriteLine($" To Do: {tarefa}");
            }
            Console.WriteLine("\nPressione qualquer tecla para continuar...");
            Console.ReadKey();
            break;
        default:
            Console.WriteLine("Opção inválida, tente novamente.");
            break;
    }
}
1 resposta

Oi, Yasmin! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu sistema de tarefas ficou bem organizado e intuitivo. A estrutura do switch facilita muito a navegação no menu e a leitura do fluxo da aplicação.

Uma dica para praticar é usar TryAdd para evitar erro caso a tarefa já exista no dicionário. Veja este exemplo:**


if (!tarefas.TryAdd(novaTarefa, responsavel))
{
    Console.WriteLine("Essa tarefa já existe.");
}

Esse código tenta adicionar a tarefa e só adiciona se ela ainda não estiver presente.

Continue se dedicando aos estudos e qualquer dúvida, compartilhe no fórum.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!