0
respostas

[Projeto] Classificação de Produtos

Resolução:


var estoque = new Dictionary<string, Dictionary<string, int>>()
{
    {"Perecível", new Dictionary<string, int>() {
        {"Banana", 10 },
        {"Maçã", 7},
        {"Abacaxi", 21 }
    } },

    {"Não Perecível", new Dictionary<string, int>()
    {
        {"Óleo Vegetal", 18 },
        {"Macarrão", 30 },
        {"Saco de Arroz", 14 }
    } }
};

void main()
{

    foreach (string classificacao in estoque.Keys)
    {
        Console.WriteLine($"\nProduto {classificacao}: \n");
        foreach (string item in estoque[classificacao].Keys)
        {
            Console.WriteLine($"A quantidade de {item} armazenado é {estoque[classificacao][item]}");
        }
    }
    Console.Write("\nPara adicionar um novo item digite 1 para perecível e 2 para não perecível: ");

    if (int.TryParse(Console.ReadLine(), out int resposta1))
    {
        string chaveEstoque;
        if (resposta1 == 1)
            chaveEstoque = "Perecível";
        else if (resposta1 == 2)
            chaveEstoque = "Não Perecível";
        else
        {
            Console.WriteLine("Opção Inválida!");
            return;
        }


        Console.Write($"\nInsira o nome do item: ");
        string item = Console.ReadLine()!;
        if (!string.IsNullOrWhiteSpace(item))
        {
            Console.Write($"\nAgora insira a quantidade que deseja inserir: ");
            if (int.TryParse(Console.ReadLine(), out int resposta3))
            {
                estoque[chaveEstoque].Add(item, resposta3);
                Console.WriteLine("\nItem e quantidade armazenados com sucesso na classificação apontada!");
                Thread.Sleep(4000);
                Console.Clear();
                main();
            }
            else
            {
                Console.WriteLine("\nQuantidade Inválida");
                return;
            }
        }
        else
        {
            Console.WriteLine("\nO campo deve ser preenchido");
            return;
        }
    }
    else
    {
        Console.WriteLine("\nItem Inválido!");
        Thread.Sleep(4000);
        Console.Clear();
        main();
    }
}

main();