Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Soma das vendas

// Soma das vendas
Dictionary<string, List<double>> Vendas = new Dictionary<string, List<double>>();

string vendedor;
double valorVendas;
do
{
    Console.WriteLine("Digite o nome do vendedor: ");
    vendedor = Console.ReadLine();
    if (!Vendas.ContainsKey(vendedor))
    {
        Vendas[vendedor] = new List<double>();
    }
    do
    {
        Console.WriteLine("Digite o valor da venda ou 0 para sair: ");
        valorVendas = double.Parse(Console.ReadLine());
        if (valorVendas != 0)
        {
            Vendas[vendedor].Add(valorVendas);
        }
    } while (valorVendas != 0);
    foreach (var vendedorVendas in Vendas)
    {
        double total = vendedorVendas.Value.Sum();
        Console.WriteLine($"Vendedor {vendedorVendas.Key}: Total de vendas = {total}");
    }

} while (valorVendas != 0);
1 resposta

Olá, Giseli! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o Dictionary para organizar vendas por vendedor em C#, utilizou muito bem a estrutura de repetição com do...while para capturar entradas e ainda compreendeu a importância da função Sum() para calcular totais de forma prática e eficiente.

Uma dica interessante para o futuro é separar a lógica de cálculo em uma função, deixando o código mais limpo e reutilizável. Assim:

static double CalcularTotal(List<double> vendas)
{
    return vendas.Sum();
}

Isso faz com que você possa chamar essa função sempre que precisar calcular o total de vendas de um vendedor.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Encapsular lógica: criar métodos para adicionar vendas e exibir resultados.
  • Formatar saída: mostrar valores com duas casas decimais para maior clareza.
  • Validar entradas: garantir que valores digitados sejam números válidos antes de adicionar à lista.

Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: O que você acha mais interessante evoluir neste código, adicionar relatórios detalhados por vendedor com média e quantidade de vendas ou manter apenas o cálculo do total para cada um?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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