1
resposta

[Projeto] Consulta de media de vendas para super carros

Ola, segue a minha solucao. (A primeira versao foi passando uma string pela funcao para o usuario digitar o carro desejado, mas olhando resolucoes de colegas, achei mais intuitivo mostrar uma lista dos carros disponiveis para consulta, antes do usuario selecionar).

MediaCarros();
void MediaCarros()
{
    Dictionary<string, List<int>> vendasCarros = new Dictionary<string, List<int>> {
    { "Bugatti Veyron", new List<int> { 10, 15, 12, 8, 5 } },
    { "Koenigsegg Agera RS", new List<int> { 2, 3, 5, 6, 7 } },
    { "Lamborghini Aventador", new List<int> { 20, 18, 22, 24, 16 } },
    { "Pagani Huayra", new List<int> { 4, 5, 6, 5, 4 } },
    { "Ferrari LaFerrari", new List<int> { 7, 6, 5, 8, 10 } }
};

    // Mostrar carros disponiveis
    int i = 1;
    foreach(var car in vendasCarros)
    {
        Console.WriteLine($"{i} - {car.Key}");
        i++;
    }
    Console.Write("\nDigite o carro que deseja saber a media de vendas: ");
    string nomeCarro = Console.ReadLine()!;

    // Calcular a media de uma chave especifica
    if (vendasCarros.ContainsKey(nomeCarro))
    {
        double media = vendasCarros[nomeCarro].Average();
        Console.WriteLine($"\nO carro '{nomeCarro}' tem a media de venda de {media} carros por ano.");
    }

}

Execucao no terminal:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Victor. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótima sua abordagem de exibir os carros disponíveis antes da seleção. Isso melhora a experiência do usuário, tornando a interação mais intuitiva.

Uma alternativa interessante seria permitir que o usuário escolhesse o carro digitando um número da lista, em vez do nome completo. Veja este exemplo:


Console.Write("\nDigite o número do carro desejado: ");
int escolha = int.Parse(Console.ReadLine()!);

if (escolha > 0 && escolha <= vendasCarros.Count)
{
    string carroEscolhido = vendasCarros.Keys.ElementAt(escolha - 1);
    double media = vendasCarros[carroEscolhido].Average();
    Console.WriteLine($"\nO carro '{carroEscolhido}' tem a média de venda de {media} carros por ano.");
}

Isso evita erros de digitação e facilita a escolha.

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