1
resposta

Exercicio - Estoque de materiais

Console.WriteLine("Estoque da Loja do seu Zé!\n");

var produtos = new Dictionary<string, int>();
void ListarProdutos()
{
    Console.WriteLine("Produtos em estoque: \n");

    foreach (var listagem in produtos)
    {
        Console.WriteLine($"Produto: {listagem.Key} | Quantidade: {listagem.Value}");
    }
    Console.ReadLine();
}
void AdicionarProduto()
{
    Console.WriteLine("Digite o nome do produto: ");
    string nomeProduto = Console.ReadLine();

    Console.WriteLine("\nDigite a quantidade do produto: ");
    int quantidadeDoProduto = int.Parse(Console.ReadLine());

    produtos[nomeProduto] = quantidadeDoProduto;

    Console.WriteLine("Produto adicionado com sucesso!\n");
}

void EditarProduto()
{
    Console.WriteLine("Digite o nome do produto que deseja editar: \n");
    string nome = Console.ReadLine();

    if (produtos.ContainsKey(nome))
    {
        Console.WriteLine("Digite a nova quantidade\n");
        int novaQuantidade = int.Parse(Console.ReadLine());
        produtos[nome] = novaQuantidade;

        Console.WriteLine("Produto alterado com sucesso");
    }
    else
    {
        Console.WriteLine("Produto não encontrado");
    }
}

void ExcluirProdutos()
{
    Console.WriteLine("Digite o nome do produto que deseja excluir: \n");
    string nome = Console.ReadLine();

    if (produtos.Remove(nome))
    {
        Console.WriteLine("Produto Removido");
    }
    else
    {
        Console.WriteLine("Produto não encontrado");
    }
}
int ExibirMenu()
{
    Console.WriteLine("Selecione a opção desejada\n");

    Console.WriteLine("1 - Adicionar produto");
    Console.WriteLine("2 - Editar Produto");
    Console.WriteLine("3 - Excluir Produto");
    Console.WriteLine("4 - Visualizar Produtos disponíveis\n");
    Console.WriteLine("5 - Sair");
    int opcao = int.Parse(Console.ReadLine());

    switch (opcao)
    {
        case 1:
            AdicionarProduto();
            break;
        case 2:
            EditarProduto();
            break;
        case 3:
            ExcluirProdutos();
            break;
        case 4:
            ListarProdutos();
            break;
        case 5:
            Console.WriteLine("Saindo da quitando!");
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }
    return opcao;

}
int opcao;

do
{
    opcao = ExibirMenu();

} while (opcao != 5);
1 resposta

Oi, Mateus! Como vai?

Me chamou atenção a forma organizada como você separou as responsabilidades em funções, usando bem o Dictionary para controlar os produtos e quantidades, o que deixa o código mais legível e fácil de manter.

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