4
respostas

Minha Resolução

Olá, estarei dividindo em 4 postagem seguidas com minha resolução. Obs: Segue o padrão das aulas.

Segue resolução do primeiro Exercício:

Dictionary<string, List<int>> notaAlunos = new Dictionary<string, List<int>>()
{
    {"Cristin", new List<int>{10,7,6} },
    {"Pedro", new List<int>{6,8,9} },
};


void ExibirLogo()
{
    Console.Clear();
    Console.WriteLine(@"
██████╗░███████╗░██████╗░█████╗░███████╗██╗░█████╗░
██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██║██╔══██╗
██║░░██║█████╗░░╚█████╗░███████║█████╗░░██║██║░░██║
██║░░██║██╔══╝░░░╚═══██╗██╔══██║██╔══╝░░██║██║░░██║
██████╔╝███████╗██████╔╝██║░░██║██║░░░░░██║╚█████╔╝
╚═════╝░╚══════╝╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝░╚════╝░");
    Console.WriteLine(mensagemDeBoasVindas);
}


/*===============================================================
  Exercicio 1
  ==============================================================*/
void ExibirOpcoesExercicio_1()
{
    ExibirLogo();
    Console.WriteLine("\nDigite 1: Mostra notas dos alunos ");
    Console.WriteLine("Digite 2: Registrar um aluno ");
    Console.WriteLine("Digite 3: Registrar nota para o Aluno");
    Console.WriteLine("Digite 4: Mostrar média dos Alunos");
    Console.WriteLine("Digite -1 para sair");

    Console.Write("\n Digite a sua opção: ");
    string opcaoEscolhida = Console.ReadLine()!;
    int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

    switch (opcaoEscolhidaNumerica)
    {
        case 1:
            MostrasNotasDosAlunos_1();
            break;
        case 2:
            RegistrarAluno_1();
            break;
        case 3:
            RegistrarNota_1();
            break;
        case 4:
            MostrarMediaDosAlunos_1();
            break;
        case -1:
            Console.WriteLine("Tchau tchau :)");
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }

}

ExibirOpcoesExercicio_1();

void MostrasNotasDosAlunos_1()
{
    Console.Clear();
    ExibirTituloDaOpcao("Notas dos Alunos");

    foreach (var pessoa in notaAlunos)
    {
        string notas = string.Join(", ", pessoa.Value);
        Console.WriteLine($"Nome: {pessoa.Key}, Notas: {notas}");
    }
    Thread.Sleep(1000);
    Console.Clear();
    ExibirOpcoesExercicio_1();

}

void RegistrarAluno_1()
{
    Console.Clear();
    ExibirTituloDaOpcao("Registar Aluno");

    Console.Write("Digite o nome do aluno que deseja registrar: ");
    string nomeDoAluno = Console.ReadLine()!;

    notaAlunos.Add(nomeDoAluno, new List<int>());

    Console.WriteLine($"Aluno: {nomeDoAluno} cadastrado com sucesso!");

    Thread.Sleep(3000);
    ExibirOpcoesExercicio_1();
}

void RegistrarNota_1()
{
    Console.Clear();
    ExibirTituloDaOpcao("Registar Nota para um Aluno");
    //Alunos cadastrados já:
    Console.WriteLine("Alunos já cadastrados");
    foreach (string banda in notaAlunos.Keys)
    {
        Console.WriteLine($"Banda: {banda}");
    }

    Console.Write("Digite o nome do aluno que deseja avaliar: ");
    string nomeDoAluno = Console.ReadLine()!;

    if (notaAlunos.ContainsKey(nomeDoAluno))
    {
        Console.Write($"Qual a nota que a aluno {nomeDoAluno} merece: ");
        int nota = int.Parse(Console.ReadLine()!);
        notaAlunos[nomeDoAluno].Add(nota);
        Console.WriteLine($"Nota {nota} para {nomeDoAluno} registrado com sucesso!");
    }
    else
    {
        Console.WriteLine("Aluno não encotrando.");
    }
    Thread.Sleep(2000);
    ExibirOpcoesExercicio_1();
}

void MostrarMediaDosAlunos_1()
{
    Console.Clear();
    ExibirTituloDaOpcao("Media do Aluno");

    foreach (string aluno in notaAlunos.Keys)
    {
        Console.WriteLine($"{aluno}");
    }

    Console.Write("\n Digite o nome que deseja calcular a média: ");
    string nomeDoAluno = Console.ReadLine()!;

    //Verifica se possui 
    List<int> notas = notaAlunos[nomeDoAluno];
    
    if (notas.Count > 0)
    {
        double media = notas.Average();
        Console.WriteLine($"\nA média do {nomeDoAluno} é: {media:F2}");
    }


    Thread.Sleep(2000);
    ExibirOpcoesExercicio_1();

}


void ExibirTituloDaOpcao(string titulo)
{
    int quantidadeDeLetras = titulo.Length;
    string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
    Console.WriteLine(asteriscos);
    Console.WriteLine(titulo);
    Console.WriteLine(asteriscos + "\n");
}
4 respostas

Exercício 2:


Dictionary<string, int> estoqueAtual = new Dictionary<string, int>()
{
    {"Laranja", 5},
    {"Maça" , 10 }
};


void ExibirLogo()
{
    Console.Clear();
    Console.WriteLine(@"
██████╗░███████╗░██████╗░█████╗░███████╗██╗░█████╗░
██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██║██╔══██╗
██║░░██║█████╗░░╚█████╗░███████║█████╗░░██║██║░░██║
██║░░██║██╔══╝░░░╚═══██╗██╔══██║██╔══╝░░██║██║░░██║
██████╔╝███████╗██████╔╝██║░░██║██║░░░░░██║╚█████╔╝
╚═════╝░╚══════╝╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝░╚════╝░");
}


/*===============================================================
  Exercicio 1
  ==============================================================*/
void ExibirOpcoesExercicio()
{
    ExibirLogo();
    Console.WriteLine("\nDigite 1: Mostra Estoque de produtos ");
    Console.WriteLine("Digite 2: Cadastrar produto no estoque ");
    Console.WriteLine("Digite 3: Exibir saldo de um produto ");
    Console.WriteLine("Digite 4: ");
    Console.WriteLine("Digite -1 para sair");

    Console.Write("\n Digite a sua opção: ");
    string opcaoEscolhida = Console.ReadLine()!;
    int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

    switch (opcaoEscolhidaNumerica)
    {
        case 1:
            MostraEstoqueTotal_2();
            break;
        case 2:
            CadastraProduto_2();
            break;
        case 3:
            EstoqueProdutoSelecionado_2();
            break;
        case 4:
            //MostrarMediaDosAlunos_1();
            break;
        case -1:
            Console.WriteLine("Tchau tchau :)");
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }

}

ExibirOpcoesExercicio();

void MostraEstoqueTotal_2()
{
    Console.Clear();
    ExibirTituloDaOpcao("Estoque Total de Produtos");

    foreach (var produto in estoqueAtual)
    {
        Console.WriteLine($"Produto: {produto.Key}, quantida: {produto.Value}");
    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();

}

void CadastraProduto_2()
{
    Console.Clear();
    ExibirTituloDaOpcao("Cadastrar produto no estoque");

    Console.Write("Digite o produto que deseja registrar: ");
    string nomeDoProduto = Console.ReadLine()!;

    Console.Write("Digite quantidade do produto: ");
    string quantidadeProduto = Console.ReadLine()!;
    int qtd = int.Parse(quantidadeProduto);

    estoqueAtual.Add(nomeDoProduto, qtd);

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();

}

void EstoqueProdutoSelecionado_2()
{
    Console.Clear();
    ExibirTituloDaOpcao("Exibir estoque do produtor selecionado");

    Console.Write("Digite o produto que deseja consultar: ");
    string nomeDoProduto = Console.ReadLine()!;

    // Verifica se possui no estoque
    if (estoqueAtual.ContainsKey(nomeDoProduto))
    {
        Console.WriteLine($"Quantidade do produto: {nomeDoProduto} é {estoqueAtual[nomeDoProduto]} ");
    }
    else
    {
        Console.WriteLine("Aluno não encotrando.");
    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();
}

void ExibirTituloDaOpcao(string titulo)
{
    int quantidadeDeLetras = titulo.Length;
    string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
    Console.WriteLine(asteriscos);
    Console.WriteLine(titulo);
    Console.WriteLine(asteriscos + "\n");
}

Exercício 3:


Dictionary<string, string> perguntasRespostas = new Dictionary<string, string>()
{
    {"Capital do Brasil?","Brasilia"},
    {"Capital do Rio Grande do Sul?","Porto Alegre"}
};


void ExibirLogo()
{
    Console.Clear();
    Console.WriteLine(@"
██████╗░███████╗░██████╗░█████╗░███████╗██╗░█████╗░
██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██║██╔══██╗
██║░░██║█████╗░░╚█████╗░███████║█████╗░░██║██║░░██║
██║░░██║██╔══╝░░░╚═══██╗██╔══██║██╔══╝░░██║██║░░██║
██████╔╝███████╗██████╔╝██║░░██║██║░░░░░██║╚█████╔╝
╚═════╝░╚══════╝╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝░╚════╝░");
}


/*===============================================================
  Exercicio 3
  ==============================================================*/
void ExibirOpcoesExercicio()
{
    ExibirLogo();
    Console.WriteLine("\nDigite 1: Mostrar quiz completo.");
    Console.WriteLine("Digite 2: Cadastrar mais uma pergunta/resposta.");
    Console.WriteLine("Digite 3: Realizar quiz!");
    Console.WriteLine("Digite -1: para sair");

    Console.Write("\n Digite a sua opção: ");
    string opcaoEscolhida = Console.ReadLine()!;
    int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

    switch (opcaoEscolhidaNumerica)
    {
        case 1:
            MostrarQuizCompleto();
            break;
        case 2:
            CadastraPerguntas();
            break;
        case 3:
            RealizarQuiz();
            break;
        case -1:
            Console.WriteLine("Tchau tchau :)");
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }

}

ExibirOpcoesExercicio();

void MostrarQuizCompleto()
{
    Console.Clear();
    ExibirTituloDaOpcao("Quiz completo");

    foreach (var perguntas in perguntasRespostas)
    {
        Console.WriteLine($"Perguntas: {perguntas.Key} {perguntas.Value}.");
    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();

}

void CadastraPerguntas()
{
    Console.Clear();
    ExibirTituloDaOpcao("Cadastrar Perguntas");

    Console.Write("Digite a pergunta que deseja cadastrar: ");
    string pergunta = Console.ReadLine()!;

    Console.Write("Digite a resposta para a pergunta: ");
    string resposta = Console.ReadLine()!;

    perguntasRespostas.Add(pergunta, resposta);

    if (perguntasRespostas.ContainsKey(pergunta))
    {
        Console.WriteLine("Pergunta cadastrada com sucesso!!");
    }
    else {
        Console.WriteLine("Pergunta não cadastrada.");
    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();
}

void RealizarQuiz()
{
    Console.Clear();
    ExibirTituloDaOpcao("Quiz!!");

    foreach (KeyValuePair<string, string> item in perguntasRespostas)
    {
        Console.WriteLine($"Perguntas:{item.Key}");
        Console.Write("Digite a resposta: ");
        string resposta = Console.ReadLine()!;

        // Verificar respota.
        if (resposta == item.Value)
        {
            Console.WriteLine("Resposta correta!! \n");
        }
        else
        {
            Console.WriteLine("Resposta incorreta. \n");
        }

    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();
}


void ExibirTituloDaOpcao(string titulo)
{
    int quantidadeDeLetras = titulo.Length;
    string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
    Console.WriteLine(asteriscos);
    Console.WriteLine(titulo);
    Console.WriteLine(asteriscos + "\n");
}

Olá Cristin! Tudo bem?

Parabéns pelo resultado na resolução do desafio, ficou ótimo!

Além disso, agradeço por compartilhar seu código com os demais estudantes, com certeza vai ajudar nos estudos de todas as pessoas que estão aprendendo este mesmo assunto.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!

Resolução do Exercício 4:


Dictionary<string, string> usuariosLogin = new Dictionary<string, string>()
{
    {"Cristin","12345"},
    {"Isa","54321"}
};


void ExibirLogo()
{
    Console.Clear();
    Console.WriteLine(@"
██████╗░███████╗░██████╗░█████╗░███████╗██╗░█████╗░
██╔══██╗██╔════╝██╔════╝██╔══██╗██╔════╝██║██╔══██╗
██║░░██║█████╗░░╚█████╗░███████║█████╗░░██║██║░░██║
██║░░██║██╔══╝░░░╚═══██╗██╔══██║██╔══╝░░██║██║░░██║
██████╔╝███████╗██████╔╝██║░░██║██║░░░░░██║╚█████╔╝
╚═════╝░╚══════╝╚═════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝░╚════╝░");
}


/*===============================================================
  Exercicio 3
  ==============================================================*/
void ExibirOpcoesExercicio()
{
    ExibirLogo();
    Console.WriteLine("\nDigite 1: Mostrar usuários.");
    Console.WriteLine("Digite 2: Cadastrar novos usuários.");
    Console.WriteLine("Digite 3: Logar");
    Console.WriteLine("Digite -1: para sair");

    Console.Write("\n Digite a sua opção: ");
    string opcaoEscolhida = Console.ReadLine()!;
    int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

    switch (opcaoEscolhidaNumerica)
    {
        case 1:
            MostrarQuizCompleto();
            break;
        case 2:
            CadastrarUsuario();
            break;
        case 3:
            Logar();
            break;
        case -1:
            Console.WriteLine("Tchau tchau :)");
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }
}

ExibirOpcoesExercicio();

void MostrarQuizCompleto()
{
    Console.Clear();
    ExibirTituloDaOpcao("PESSOAS CADASTRADAS!");

    foreach (var usuarios in usuariosLogin)
    {
        Console.WriteLine($"Usuário: {usuarios.Key} Senha:  {usuarios.Value}.");
    }

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();

}

void CadastrarUsuario()
{
    Console.Clear();
    ExibirTituloDaOpcao("CADASTRAR USUÁRIO!");

    Console.Write("Digite o nome do usuário que deseja cadastrar:");
    string nome = Console.ReadLine()!;

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

    usuariosLogin.Add(nome, senha);

    Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();
}

void Logar()
{
    Console.Clear();
    ExibirTituloDaOpcao("LOGAR!");

    Console.Write("Usuário:");
    string nome = Console.ReadLine()!;


    Console.Write("Senha:");
    string senha = Console.ReadLine()!;

    int flagLogin = 0;

    foreach (var usuarios in usuariosLogin)
    {
        //Console.WriteLine($"Usuário: {usuarios.Key} Senha:  {usuarios.Value}.");

        if (nome == usuarios.Key)
        {
            if (senha == usuarios.Value)
            {
            flagLogin = 1;
            }
        }
    }

    if (flagLogin == 1)
    {
        Console.WriteLine("Login realizado com Sucesso!");
    }
    else
    {
        Console.WriteLine("Login não realizado!");
    }


        Thread.Sleep(1000);
    Console.Write("Pressione qualquer tecla para sair"!);
    Console.ReadKey();

    ExibirOpcoesExercicio();
}

void ExibirTituloDaOpcao(string titulo)
{
    int quantidadeDeLetras = titulo.Length;
    string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
    Console.WriteLine(asteriscos);
    Console.WriteLine(titulo);
    Console.WriteLine(asteriscos + "\n");
}