Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Codigo com listas nao compila :/

Alguem sabe me dizer pq esse codigo nao adiciona o aluno na lista e nao apresenta os dados do aluno ?

namespace Escola.Listas { public class ListaDeAlunos { public List vetor;

    public ListaDeAlunos()
    {
        vetor = new List<Aluno>();
    }

     public void Menu()
    {
        int opcao;
        this.Load();

        do
        {
            Console.Clear();
            Console.WriteLine("Cadastro de Alunos");
            Console.WriteLine("...............................");
            Console.WriteLine("1) Inserir novo Aluno");
            Console.WriteLine("2) Listagem de Alunos");
            Console.WriteLine("3) Editar informacoes do Aluno");
            Console.WriteLine("4) Remover Aluno existente");
            Console.WriteLine("5) Salvar");
            Console.WriteLine("0) Voltar");
            Console.WriteLine();
            Console.Write("Digite a opcao desejada: ");

            opcao = int.Parse(Console.ReadLine());

            switch (opcao)
            {
                case 0:
                    break;
                case 1:
                    this.Create();
                    break;
                case 2:
                    this.Retrieve();
                    break;
                case 3:
                    this.Update();
                    break;
                case 4:
                    this.Delete();
                    break;
                case 5:
                    this.Save();
                    break;

                default:
                    Console.WriteLine("ERRO!  Opcao {0} invalida", opcao);
                    break;
            }
        }
        while (opcao != 0);
    }       

    public void Create()
    {
        Aluno aluno = new Aluno();
        Console.WriteLine();
        Console.Write("Nome Completo: ");
        aluno.NomeCompleto = Console.ReadLine();
        Console.Write("Sexo (M/F): ");
        aluno.Sexo = char.Parse(Console.ReadLine());
        Console.Write("Documento de Identificacao: ");
        aluno.DocumentoIdentificacao = Console.ReadLine();
        Console.Write("Data de Nascimento: ");
        aluno.DataNascimento = DateTime.Parse(Console.ReadLine());

        // to do: solcitar periodo de admissao

        aluno.NumeroMatricula = this.vetor.Count() + 1;
        this.vetor.Add(aluno);

        Console.WriteLine("Aluno {0} cadastrado com sucesso!", aluno.NomeCompleto);

    }

    public void Retrieve()
    {
        Console.WriteLine();

        foreach( Aluno x in this.vetor)
        {
            Console.Write("{0} | {1} | {2} | {3} | {4} ",  x.NumeroMatricula, x.NomeCompleto, x.Sexo, x.DocumentoIdentificacao, x.DataNascimento);
        }

    }
2 respostas
solução!

Olá,

Tem algo de estranho ali naquela parte:

namespace Escola.Listas { public class ListaDeAlunos { public List vetor;

Acredito que seja :

public List<Aluno> vetor;

Mas fora isso seu código está correto, vc não deve estar vendo a saída porque não tem uma pausa depois de mostrar o dados do aluno. Experimenta colocar um readline depois de mostrar os dados do aluno.

public void Retrieve()
        {
            Console.WriteLine();

            foreach (Aluno x in this.vetor)
            {
                Console.Write("{0} | {1} | {2} | {3} | {4} ", x.NumeroMatricula, x.NomeCompleto, x.Sexo, x.DocumentoIdentificacao, x.DataNascimento);
            }
            Console.ReadLine();
        }

Era isso mesmo Diego, muito obrigado !