none
Al ingresar un alumno en el case 2 me lo muestra vacio RRS feed

  • Pregunta

  • Ingreso el alumno con sus datos en el case 1, cuando quiero que me muestre sus datos en el case 2, aparece todo como null vacio

                                                                                                                                                                                               

    using System;
    using System.Collections.Generic;
    using LibreriaDeAlumnos;
    using System.Text;

    namespace ConsolaDelABMC
    {
        class Program
        {
            static void Main(string[] args)
            {
                int opcion;
                ListaDeAlumnos objlist = new ListaDeAlumnos();
                bool errordenombre, errordeapellido, errordedni, errordefecha, errordelegajo;

                do
                {

                    Console.WriteLine("Elija una opción ");
                    Console.WriteLine("");
                    Console.WriteLine("1°)Alta");
                    Console.WriteLine("");
                    Console.WriteLine("2°)Consulta");
                    Console.WriteLine("");
                    Console.WriteLine("3°)Modificación");
                    Console.WriteLine("");
                    Console.WriteLine("4°)Baja");
                    Console.WriteLine("");
                    Console.WriteLine("5°)Salir");
                    opcion = int.Parse (Console.ReadLine());
                    Alumno objalumno = new Alumno();
                    Console.Clear();

                    switch (opcion)
                    {
                        case 1:

                            do
                            {
                                Console.WriteLine("Ingresa Nombre del Alumno");
                            errordenombre = objlist.ErrorSoloLetras(objalumno.Nombre = Console.ReadLine());

                            } while (errordenombre) ;


                            do
                            {

                                Console.WriteLine("Ingresa Apellido Del Alumno");
                                errordeapellido = objlist.ErrorSoloLetras(objalumno.Apellido = Console.ReadLine());
                            } while (errordeapellido);


                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingresa D.N.I del Alumno");
                                    objalumno.Documento = int.Parse(Console.ReadLine());
                                    errordedni = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Error no se puede ingresar letras, ingrese numeros");
                                    errordedni = true;
                                }
                            } while (errordedni);


                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingresa Fecha De Nacimiento del Alumno en el formato de DD/MM/AA: ");
                                    objalumno.FechaDeNacimiento = DateTime.Parse(Console.ReadLine());
                                    errordefecha = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Ingrese bien la Fecha de Nacimiento ");
                                    errordefecha = true;
                                }
                            } while (errordefecha);


                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingresa Numero De Legajo del Alumno");
                                    objalumno.NumeroDeLegajo = int.Parse(Console.ReadLine());
                                    errordelegajo = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Error no se puede ingresar letras, ingrese numeros");
                                    errordelegajo = true;
                                }
                            } while (errordelegajo);
                           objlist.DardedeAlta(objalumno);
                            Console.WriteLine("Alumno Registrado Exitosamente");

                            break;

                            case 2:


                            foreach (Alumno M in objlist.listadealumno)
                            {
                                Console.WriteLine(objalumno.MostrarDatos());



                            }


                            Console.WriteLine("Alumnos Agregados: " + objlist.CantidadDeAlumnos());
                            break;
                        case 3:

                            int dni;
                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingresa D.N.I del Alumno que desea buscar, para modificar sus datos ");
                                    dni = int.Parse(Console.ReadLine());
                                    errordedni = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Error no se puede ingresar letras, ingrese numeros");
                                    errordedni = true;
                                }
                            } while (errordedni);



                            do
                            {
                                Console.WriteLine("Ingrese el Nombre que desea modificar");
                                errordenombre = objlist.ErrorSoloLetras(objalumno.Nombre = Console.ReadLine());
                            objlist.Modificación(objalumno);
                    } while (errordenombre)
                        ;


                            do
                            {
                                Console.WriteLine("Ingrese el Apellido que desea modificar");
                                errordeapellido = objlist.ErrorSoloLetras(objalumno.Apellido = Console.ReadLine());
                           } while (errordeapellido) ;


                    do
                            {
                                try
                                {
                                    Console.WriteLine("Ingrese la Fecha de Nacimiento que desea modificar en el formato de DD/MM/AA: ");
                                    objalumno.FechaDeNacimiento = DateTime.Parse(Console.ReadLine());
                                    errordefecha = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Ingrese bien la Fecha de Nacimiento ");
                                    errordefecha = true;
                                }
                            } while (errordefecha);



                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingrese el Numero de Legajo que desea modificar");
                                    objalumno.NumeroDeLegajo = int.Parse(Console.ReadLine());
                                    errordelegajo = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Error no se puede ingresar letras, ingrese numeros");
                                    errordelegajo = true;
                                }
                            } while (errordelegajo);

                            Console.WriteLine("Los Datos del Alumno han sido modificados");
                            break;

                        case 4:

                            do
                            {
                                try
                                {
                                    Console.WriteLine("Ingresa D.N.I del Alumno que desea eliminar ");
                                    dni = int.Parse(Console.ReadLine());
                                    errordedni = false;
                                }
                                catch (Exception)
                                {

                                    Console.WriteLine("Error no se puede ingresar letras, ingrese numeros");
                                    errordedni = true;
                                }
                            } while ( errordedni);


                            Console.WriteLine("Alumno eliminado");
                            objlist.Baja(objalumno);
                            break;

                        case 5:
                            Console.WriteLine("Gracias por utilizar este programa ");
                            break;

                        default:
                            Console.WriteLine("Opción incorrecta");
                            break;
                    }
                    Console.ReadKey();
                    Console.Clear();
                } while (opcion != 5);

            }
        }
    }

    Clase de las funciones de la lista

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace LibreriaDeAlumnos
    {
        public class ListaDeAlumnos
        {

            
            public List<Alumno> listadealumno = new List<Alumno>();
            



            // Alta
            public List<Alumno> AgregarLista()
            {
                return listadealumno;
            }
            public void DardedeAlta(Alumno Al)
            {
                listadealumno.Add(Al);
            }
            

            public int CantidadDeAlumnos()
            {
                return listadealumno.Count;
            }




            // Modificación

            public void Modificación(Alumno AlumnoModi )
            {
                int dni = 0;
              
                    listadealumno.Find(Alumno => AlumnoModi.Documento == dni);

            }



            // Baja

            public void Baja(Alumno AlumEliminar)
            {
                int dni = 0;

                listadealumno.RemoveAll(AlumEliminar => AlumEliminar.Documento == dni) ;
                
            }


            public bool ErrorSoloLetras(string E)
            {
                foreach (Char b in E)
                {
                    if (!Char.IsLetter(b) && !Char.IsSeparator(b))
                    {
                        
                        return true;
                    }
                }
                return false;
            }
        }

    }



    FacundoPaez

    viernes, 15 de noviembre de 2019 18:05

Todas las respuestas

  • Hola Facundo

    En este fragmento del foreach 

    foreach (Alumno M in objlist.listadealumno)
                            {
                                Console.WriteLine(objalumno.MostrarDatos());



                            }

    En lugar de

    objalumno.MostrarDatos()

    debe ir

    M.MostrarDatos()

    porque estás anotando

    foreach (Alumno M in objlist.listadealumno)

    entonces dentro del foreach la variable de tipo Alumno se llama M

    Saludos

    Pablo

    viernes, 15 de noviembre de 2019 20:20