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();