desafio 1:
using System;
using System.Collections.Generic;
using System.Linq;
Dictionary<string, Tuple<List<string>, List<int>>> notasDoAluno = new Dictionary<string, Tuple<List<string>, List<int>>>();
notasDoAluno["João"] = new Tuple<List<string>, List<int>>(
new List<string> { "Matemática", "Português" },
new List<int> { 90, 85 }
);
notasDoAluno["Maria"] = new Tuple<List<string>, List<int>>(
new List<string> { "Matemática", "Português", "Ciências" },
new List<int> { 95, 80, 88 }
);
foreach (var aluno in notasDoAluno)
{
string nome = aluno.Key;
List<int> notas = aluno.Value.Item2;
double media = notas.Average();
Console.WriteLine($"Aluno: {nome}, Média das Notas: {media:F2}");
e estou tentando melhorar para coloca de uma forma parecida com a aula, inclusive percebi que como era uma matriz tentei fazer com um dicionário que tinha duas listas uma de matéria e outra de notas, mas ainda preciso melhorar ele. (ps. como é mais simpels fazer isso quando trabalhamos com o armazenamento no BD rssss :):
using System;
using System.Collections.Generic;
using System.Linq;
Dictionary<string, Tuple<List<string>, List<int>>> notasDoAluno = new Dictionary<string, Tuple<List<string>, List<int>>>();
// Função para adicionar um aluno e suas notas
void AdicionarAluno()
{
Console.Write("Digite o nome do aluno: ");
string nome = Console.ReadLine();
List<string> materias = new List<string>();
List<int> notas = new List<int>();
while (true)
{
Console.Write("Digite o nome da matéria (ou 'sair' para terminar): ");
string materia = Console.ReadLine();
if (materia.ToLower() == "sair")
{
break;
}
materias.Add(materia);
Console.Write("Digite a nota para a matéria: ");
if (int.TryParse(Console.ReadLine(), out int nota))
{
notas.Add(nota);
}
else
{
Console.WriteLine("Nota inválida. Tente novamente.");
}
}
notasDoAluno[nome] = new Tuple<List<string>, List<int>>(materias, notas);
}
// Adicionando dados para o aluno João
notasDoAluno["João"] = new Tuple<List<string>, List<int>>(
new List<string> { "Matemática", "Português" },
new List<int> { 90, 85 }
);
// Adicionando dados para o aluno Maria
notasDoAluno["Maria"] = new Tuple<List<string>, List<int>>(
new List<string> { "Matemática", "Português", "Ciências" },
new List<int> { 95, 80, 88 }
);
// Adicionando um novo aluno através da entrada do usuário
AdicionarAluno();
// Calculando e exibindo a média das notas de cada aluno
foreach (var aluno in notasDoAluno)
{
string nome = aluno.Key;
List<int> notas = aluno.Value.Item2;
double media = notas.Average();
Console.WriteLine($"Aluno: {nome}, Média das Notas: {media:F2}");
}
desafio 2:
Dictionary<string, int> estoqueLoja = new Dictionary<string, int>();
// Adicionando produtos ao estoque
estoqueLoja["Camisa"] = 10;
estoqueLoja["Sapato"] = 5;
estoqueLoja["Matemática"] = 20;
estoqueLoja["Português"] = 15;
estoqueLoja["Ciências"] = 8;
// Solicitar o nome do produto ao usuário
Console.WriteLine("Digite o nome do produto para verificar a quantidade em estoque:");
string nomeProduto = Console.ReadLine();
// Verificar a quantidade em estoque do produto
if (estoqueLoja.ContainsKey(nomeProduto))
{
int quantidade = estoqueLoja[nomeProduto];
Console.WriteLine($"Produto: {nomeProduto}, Quantidade em estoque: {quantidade}");
}
else
{
Console.WriteLine("Produto não encontrado no estoque.");
}