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

[Dúvida] MenuAdicionarPiloto adiciona apenas localmente

Pessoal, sou novo em programação então peço desculpas caso a dúvida seja boba, segue o meu problema:

Estou tentando fazer um projeto semelhante ao ScreenSound mas no caso seria o F1Ranking, um campeonato por console de Fórmula 1.

Estou tentando criar um MenuAdicionarPiloto com base no MenuRegistrarBandas mas no meu caso ele apenas registra o Piloto localmente, mostra no foreach mas se eu tenho procurar esse piloto em outro Menu ele não aparece mais.

Segue o código no GithHub :

https://github.com/916Will/F1Ranking

1 resposta
solução!

Olá !Tranquilo, todo mundo já foi iniciante em algum momento, então sem problema nenhum. Vamos tentar resolver essa parada!

Parece que o seu MenuAdicionarPiloto está apenas registrando o piloto localmente e não persistindo os dados. Isso pode acontecer por algumas razões. Aqui estão algumas dicas para te ajudar:

Verifique se está Salvando no Local Correto: Certifique-se de que você está salvando os pilotos em um local que persiste entre diferentes menus ou partes do programa. Pode ser necessário salvar em uma estrutura de dados que permaneça viva durante toda a execução do programa.

Utilize uma Estrutura de Dados Global: Considere usar uma estrutura de dados global para armazenar os pilotos, algo que seja acessível de qualquer parte do seu programa. Assim, quando você adiciona um piloto, ele não fica restrito ao escopo local.

Preste Atenção ao Ciclo de Vida dos Dados: Certifique-se de que os dados do piloto persistam entre diferentes partes do programa. Se você está usando variáveis locais, elas podem ser perdidas quando o escopo da função termina.

Persistência de Dados: Se o seu programa for encerrado e reiniciado, os dados deveriam ser carregados novamente. Talvez você precise salvar e carregar os dados de alguma forma.

Aqui está um exemplo simples em C#:

// Crie uma classe para armazenar os pilotos globalmente
public static class GerenciadorPilotos
{
    public static List<Piloto> ListaDePilotos = new List<Piloto>();
}

// Na sua função MenuAdicionarPiloto, adicione o piloto à lista global
public void MenuAdicionarPiloto(string nome, int numero)
{
    Piloto novoPiloto = new Piloto(nome, numero);
    GerenciadorPilotos.ListaDePilotos.Add(novoPiloto);

    // Restante do seu código...
}

Programação é isso! Muito erro e muito teste. Boa sorte com o seu projeto F1Ranking!