- Criar um dicionário que represente um aluno, com uma lista de notas, e mostre a média de suas notas na tela.
// Exercicio 01
Dictionary<string, List<int>> notasAlunos = new Dictionary<string, List<int>>();
notasAlunos.Add("Victor", new List<int> { 5, 5, 5, 5, 5 });
notasAlunos.Add("Joana", new List<int> { 10, 9, 9 });
MediaAlunos();
void MediaAlunos()
{
foreach (var aluno in notasAlunos)
{
Console.WriteLine($"Aluno: {aluno.Key}");
//int soma = 0; // Calculo manual da media
//foreach (int nota in aluno.Value)
//{
// soma += nota;
//}
//double media = (double)soma / aluno.Value.Count;
//Console.WriteLine($"Media = {media}");
double media = 0;
foreach (var nota in aluno.Value) //Calculo otimizado com Average()
{
media = aluno.Value.Average();
}
Console.WriteLine($"Media = {media}\n");
}
}
void InsereNota()
{
Console.Write("Digite o nome do aluno: ");
string nomeAluno = Console.ReadLine()!;
if (notasAlunos.ContainsKey(nomeAluno))
{
Console.Write($"Digite a nota para o aluno {nomeAluno}: ");
//int nota = int.Parse(Console.ReadLine()!); // Se digitar algo alem de numero = Exception
int.TryParse(Console.ReadLine()!, out int nota); // Se digitar algo alem de numero = 0
notasAlunos[nomeAluno].Add(nota);
}
else
{
Console.WriteLine("Aluno desconhecido");
}
}
- Criar um programa que gerencie o estoque de uma loja. Utilize um dicionário para armazenar produtos e suas quantidades em estoque e mostre, a partir do nome de um produto, sua quantidade em estoque.
// Exercicio 02
Dictionary<string, int> estoqueLoja = new Dictionary<string, int>();
estoqueLoja.Add("Lapis", 10);
estoqueLoja.Add("Caneta", 5);
estoqueLoja.Add("Borracha", 10);
MostrarProduto();
void MostrarProduto()
{
Console.WriteLine("Lista de produtos\n");
foreach(var prod in estoqueLoja)
{
Console.WriteLine(prod.Key);
}
Console.Write($"\nDigite o nome do produto que deseja consultar o estoque: ");
string nomeProduto = Console.ReadLine()!;
if (estoqueLoja.ContainsKey(nomeProduto))
{
Console.WriteLine($"\nProduto: {nomeProduto}, unidades: {estoqueLoja[nomeProduto]}.");
}
else
{
Console.WriteLine("Produto inexistente.");
}
}
- Crie um programa que implemente um quiz simples de perguntas e respostas. Utilize um dicionário para armazenar as perguntas e as respostas corretas.
Fiz 2 formas, permitindo o user escolher a pergunta ou passar por todas as perguntas do dicionario
// Exercicio 03 - versao 1.0 (Quiz)
Dictionary<string, string> quizPerguntas = new Dictionary<string, string>
{
{ "Qual sua cor favorita?", "Azul" },
{ "Qual a cor da grama?", "Verde" },
{ "Qual o maior mamifero do planeta?", "Baleia" }
};
QuizPergsRespostas();
void QuizPergsRespostas()
{
int i = 1;
foreach(var pergunta in quizPerguntas)
{
Console.WriteLine($"{i} | {pergunta.Key}");
i++;
}
Console.Write("\nDigite o numero da sua pergunta: ");
string numPerguntaStr = Console.ReadLine()!;
int numPergunta = int.Parse(numPerguntaStr);
var perg = string.Empty;
switch (numPergunta)
{
case 1:
perg = quizPerguntas.Keys.ElementAt(0);
break;
case 2:
perg = quizPerguntas.Keys.ElementAt(1);
break;
case 3:
perg = quizPerguntas.Keys.ElementAt(2);
break;
default:
break;
}
Console.WriteLine($"\nPergunta: {perg}");
string respUsuario = Console.ReadLine()!;
if (string.Equals(respUsuario, quizPerguntas[perg], StringComparison.OrdinalIgnoreCase))
{
Console.WriteLine($"Parabens, voce acertou.");
}
else
{
Console.WriteLine($"Voce errou.");
Console.WriteLine($"Resposta: {quizPerguntas[perg]}");
}
Dictionary<string, string> quizPerguntas = new Dictionary<string, string>
{
{ "Qual sua cor favorita?", "Azul" },
{ "Qual a cor da grama?", "Verde" },
{ "Qual o maior mamifero do planeta?", "Baleia" }
};
QuizPergsRespostas();
void QuizPergsRespostas()
{
int i = 1;
foreach(var perg in quizPerguntas)
{
Console.WriteLine($"{i}| {perg.Key}");
i++;
Console.Write("Resp: ");
string respUser = Console.ReadLine()!;
if (string.Equals(respUser, perg.Value, StringComparison.OrdinalIgnoreCase ))
{
Console.WriteLine("Correto\n");
}
else
{
Console.WriteLine($"Errado. A resposta correta seria: {perg.Value}\n");
}
}
}