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

Desafio: hora da prática - Resolução Enumerada

1.

Dictionary<string, List<int>> Alunos = new Dictionary <string, List<int>>();
Alunos.Add ("Rafael", new List<int> {10,4,5,6});

double mediaAluno = Alunos["Rafael"].Average();
Console.WriteLine ($"A média é {mediaAluno}.");

2.

Dictionary <string, int> Produtos = new Dictionary<string, int>();
Produtos.Add("TV", 40);
Produtos.Add ("Corda", 13);

Console.WriteLine ("======================");
Console.WriteLine ("       PRODUTOS       ");
Console.WriteLine ("======================");
foreach (string produto in Produtos.Keys) {
    Console.WriteLine (produto);
}
Console.Write ("Selecione o produto que você deseja ver a quantidade: ");
string nomeProduto = Console.ReadLine()!;
int quantiaProduto = Produtos[nomeProduto];

Console.WriteLine ($"A quantidade em estoque do produto {nomeProduto} é de {quantiaProduto}");

3.

Dictionary <string, string> Quiz = new Dictionary<string, string>();
Quiz.Add ("Quanto é 1+30?", "31");
Quiz.Add ("Como se escreve Pedro ao contrário?", "Ordep");
bool perdeu = false;

foreach (string pergunta in Quiz.Keys) {
    Console.Write($"{pergunta}: ");
    string resposta = Console.ReadLine()!;
    if (resposta != Quiz[pergunta]) {
        Console.WriteLine ("Você perdeu!");
        perdeu = true;
        break;
    }
}

if (!perdeu) Console.WriteLine ("Você venceu!");

4.

bool nomeUsuarioEncontrado = false;

Dictionary <string, string> login = new Dictionary<string, string>();
login.Add ("Diego", "3406trtiko");
login.Add ("Cunha", "sdkfaf");

Console.Write ("Digite seu nome de usuário: ");
string nomeUsuario = Console.ReadLine()!;

Console.Write ("Digite sua senha: ");
string senhaUsuario = Console.ReadLine()!;

foreach (string nome in login.Keys) {
    if (nome == nomeUsuario) {
        nomeUsuarioEncontrado = true;
        if (login[nomeUsuario] == senhaUsuario) {
            Console.WriteLine ("Login Efetuado");

        }
        else {
            Console.WriteLine ("Login ou Senha incorretos.");
        }
    }
}
if (!nomeUsuarioEncontrado) Console.WriteLine ("Login ou Senha incorretos.");
1 resposta
solução!

Oi, Diego! Como vai?

Gostei bastante da forma como você organizou os quatro exercícios, principalmente no uso de Dictionary com diferentes tipos, como List<int> e string. O cálculo da média com Average() ficou bem direto, e no quiz você utilizou o break de forma estratégica para encerrar quando o usuário erra, o que mostra um bom controle de fluxo.

Uma dica interessante para o futuro é usar o método ContainsKey() para evitar erros ao acessar chaves que podem não existir no dicionário, principalmente no exemplo dos produtos e do login. Veja este exemplo:


if (Produtos.ContainsKey(nomeProduto)) {
    int quantidade = Produtos[nomeProduto];
    Console.WriteLine("Quantidade: " + quantidade);
} else {
    Console.WriteLine("Produto nao encontrado");
}

Esse código verifica se a chave existe antes de acessar o valor, evitando exceções e deixando o programa mais seguro.

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