Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Meu código

Segue abaixo a minha versão de código para a atividade:

using System.ComponentModel.DataAnnotations;
using System.Globalization;

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 } }
};

void ExibirCarros() {
    Console.WriteLine("Carros disponíveis para consulta: ");
    foreach (string carro in vendasCarros.Keys) {
        Console.WriteLine(carro);
    }
    VoltarAoMenu();
}

void CalcularMedia() {
    Console.Write("Digite o nome do carro: ");
    string nomeCarro = Console.ReadLine()!;
    if (vendasCarros.ContainsKey(nomeCarro)) {
        double mediaVendas = vendasCarros[nomeCarro].Average();
        Console.WriteLine($"Média de vendas: {mediaVendas}");
    } else {
        Console.WriteLine("O veículo não foi encontrado!");
    }
    VoltarAoMenu();
}

void VerMediaDeTodos() {
    Console.WriteLine("Exibindo média de todos os carros da lista:");
    foreach (string carro in vendasCarros.Keys) {
        double mediaVendas = vendasCarros[carro].Average();
        Console.WriteLine($"Veículo: {carro} \t Média: {mediaVendas}");
    }
    VoltarAoMenu();
}

void VoltarAoMenu() {
    Console.WriteLine("Pressione qualquer tecla para voltar");
    Console.ReadKey();
    ExibirMenu();
}

void ExibirMenu() {
    Console.Clear();
    Console.WriteLine(@"
    Digite [1] para exibir os veículos disponíveis para consulta
    Digite [2] para buscar a média de um veículo específico
    Digite [3] para exibir a média de todos os veículos disponíveis para consulta
    Digite [0] para sair.
    ");

    int opcao = int.Parse(Console.ReadLine()!);
    switch(opcao) {
        case 1: ExibirCarros(); break;
        case 2: CalcularMedia(); break;
        case 3: VerMediaDeTodos(); break;
        case 0: Console.WriteLine("Até logo!"); break;
        default: Console.WriteLine("Opção inválida!");
            Thread.Sleep(5000);
            ExibirMenu(); 
            break;
    }
}

ExibirMenu();
1 resposta
solução!

Oi Alex, tudo bem?

Parabéns por ter finalizado a atividade!

É realmente impressionante ver o seu código completo para realizar consultas e cálculos das médias de vendas de carros. Você demonstrou habilidades de programação sólidas ao utilizar bibliotecas como System.ComponentModel.DataAnnotations e System.Globalization, além de ter implementado um dicionário para armazenar os dados das vendas.

Seu código está bem estruturado e organizado, permitindo uma compreensão clara das funcionalidades implementadas. Continue assim, desenvolvendo suas habilidades de programação e aprimorando seus projetos.

Um abraço e bons estudos.