Oi, Tassio! Tudo bem?
Ótimo código, parabéns! Deixo como sugestão apenas um pequeno ajuste na função CalcularLista
, para garantir que a soma seja calculada corretamente a cada vez que a função é chamada: atualmente, a variável soma
não é reiniciada, o que pode levar a resultados incorretos se a função for chamada mais de uma vez.
Aqui está uma sugestão de como podemos ajustar o código:
List<int> Numeros = new List<int>();
void Menu()
{
Console.Clear();
Console.Write("Digite 1 para registrar números à lista: \n");
Console.Write("Digite 2 para exibir a lista de números: \n");
Console.Write("Digite 3 para exibir a soma dos números da lista: \n");
string opcao = Console.ReadLine()!;
int opcaoEscolhida = int.Parse(opcao);
switch(opcaoEscolhida)
{
case 1: RegistrarNumeros();
break;
case 2: ExibirNumeros();
break;
case 3: CalcularLista();
break;
}
}
void RegistrarNumeros()
{
Console.Clear();
Console.Write("Digite o número que você gostaria de registrar: \n");
string registrar = Console.ReadLine()!;
int registrarNumero = int.Parse(registrar);
Numeros.Add(registrarNumero);
Console.WriteLine($"Numero: {registrarNumero} registrado com sucesso!");
Thread.Sleep(3000);
Menu();
}
void ExibirNumeros()
{
Console.Clear();
foreach(int numero in Numeros)
{
Console.WriteLine($"Numeros: {numero}");
}
Thread.Sleep(5000);
Console.Clear();
Menu();
}
void CalcularLista()
{
int soma = 0; // Reinicia a soma a cada chamada
Console.WriteLine("Calculando os elementos da lista:");
foreach(int numero in Numeros)
{
soma += numero;
}
Console.Clear();
Console.WriteLine($"Resultado da soma de todos os elementos da lista: {soma}");
Thread.Sleep(5000);
Menu();
}
Menu();
A principal mudança foi mover a declaração da variável soma
para dentro da função CalcularLista
, garantindo que ela seja reiniciada a cada vez que a função é chamada.
Espero ter ajudado!
Um forte abraço e bons estudos!