コード例 #1
0
        public override void CrearPersonaUniversitaria(Universidad universidad)
        {
            Console.WriteLine("\nSe ingresará un alumno al sistema");
            Console.WriteLine("Ingrese los nombres del alumno:");
            string nombres = Console.ReadLine();

            Console.WriteLine("Ingrese los apellido del alumno");
            string apellidos = Console.ReadLine();

            Console.WriteLine("Es un estudiante de pregrado? [S/N]");
            string  prePos     = Console.ReadLine();
            Boolean boolPrePos = false;

            if (prePos != null && prePos.Equals("s", StringComparison.InvariantCultureIgnoreCase))
            {
                boolPrePos = true;
            }
            else if (prePos != null && prePos.Equals("n", StringComparison.InvariantCultureIgnoreCase))
            {
                boolPrePos = false;
            }
            else
            {
                Console.WriteLine("Valor ingresado no valido, ingrese el valor nuevamente");
                int exit = 0;
                do
                {
                    Console.WriteLine("Es un estudiante de pregrado? [S/N]");
                    prePos = Console.ReadLine();
                    if (prePos != null && prePos.Equals("s", StringComparison.InvariantCultureIgnoreCase))
                    {
                        boolPrePos = true;
                        exit       = 1;
                    }
                    else if (prePos != null && prePos.Equals("n", StringComparison.InvariantCultureIgnoreCase))
                    {
                        boolPrePos = false;
                        exit       = 1;
                    }
                    else
                    {
                        Console.Out.WriteLine("Valor ingresado no valida, ingrese su opcion nuevamente");
                    }
                } while (exit == 0);
            }
            Console.WriteLine("Ingrese direccion del alumno");
            string direcc = Console.ReadLine();

            Console.WriteLine("Ingrese el numero de telefono del estudiante");
            string telef = Console.ReadLine();

            Console.WriteLine("Seleccione el numero correspondiente a la carrera del estudiante");
            Console.Out.WriteLine("Ingresar un caracter no numerico lanzara una excepcion");
            int contOp = 1;

            foreach (Carrera carreraActual in universidad.Carreras)
            {
                Console.WriteLine("[" + contOp + "] " + carreraActual.NombreCarrera);
                contOp++;
            }
            try
            {
                int opCarrera = Convert.ToInt32(Console.ReadLine());
                if (opCarrera - 1 >= universidad.Carreras.Count)
                {
                    var exitCarrera = 0;
                    do
                    {
                        Console.Out.WriteLine("El numero supero las opciones disponibles, intenta nuevamente");
                        Console.WriteLine("Seleccione el numero correspondiente a la carrera del estudiante");
                        Console.Out.WriteLine("Ingresar un caracter no numerico lanzara una excepcion");
                        contOp = 1;
                        foreach (Carrera carreraActual in universidad.Carreras)
                        {
                            Console.WriteLine("[" + contOp + "] " + carreraActual.NombreCarrera);
                            contOp++;
                            opCarrera = Convert.ToInt32(Console.ReadLine());
                            if (opCarrera - 1 < universidad.Carreras.Count)
                            {
                                exitCarrera = 1;
                            }
                        }
                    } while (exitCarrera == 0);
                }
                Carrera carreraElegida = universidad.Carreras[opCarrera - 1];
                CarreraEstudiante = carreraElegida;
            }
            catch (Exception e)
            {
                Console.Out.WriteLine("Se ingresó una opción no valida. Revise la entrada y reinicie el programa");
                Console.WriteLine(e);
                throw;
            }

            string numMatri = DateTime.Now.Year.ToString() + CarreraEstudiante.CodigoCarrera +
                              universidad.Estudiantes.Count.ToString();
            Estudiante estudiante = new Estudiante();

            NombrePersona   = nombres;
            ApellidoPersona = apellidos;
            NumMatricula    = numMatri;
            Console.Out.WriteLine("********************************************");
            Console.Out.WriteLine("¡El perfil fue creado correctamente!");
            Console.Out.WriteLine("Tu numero de matricula es: " + numMatri);
            Console.Out.WriteLine("********************************************");
            DireccionPersona     = direcc;
            NumeroTelefono       = telef;
            IsEstudiantePosgrado = boolPrePos;
        }
コード例 #2
0
        public override void CambiarDatos(Universidad universidad)
        {
            string opEdicion;

            do
            {
                Console.Out.WriteLine("¿Que dato desea modificar?");
                Console.Out.WriteLine("[1] Nombres");
                Console.Out.WriteLine("[2] Apellidos");
                Console.Out.WriteLine("[3] Direccion");
                Console.Out.WriteLine("[4] Numero de telefono");
                Console.Out.WriteLine("[5] Carrera");
                Console.Out.WriteLine("[6] Numero de matricula");
                Console.Out.WriteLine("[7] Pregrado o postgrado");
                Console.Out.WriteLine("[8] Salir");
                Console.Out.WriteLine("Ingrese su opcion");
                opEdicion = Console.ReadLine();
                switch (opEdicion)
                {
                case "1":
                    Console.Out.WriteLine("Ingrese los nuevos nombres del usuario");
                    NombrePersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "2":
                    Console.Out.WriteLine("Ingrese los nuevos apellidos del usuario");
                    ApellidoPersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "3":
                    Console.Out.WriteLine("Ingrese la nueva direccion del usuario");
                    DireccionPersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "4":
                    Console.Out.WriteLine("Ingrese el nuevo numero de telefono del usuario");
                    NumeroTelefono = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "5":
                    Console.WriteLine("Seleccione el numero correspondiente a la nueva carrera del estudiante");
                    Console.Out.WriteLine("Ingresar un caracter no numerico lanzara una excepcion");
                    int contOp = 1;
                    foreach (Carrera carreraActual in universidad.Carreras)
                    {
                        Console.WriteLine("[" + contOp + "] " + carreraActual.NombreCarrera);
                        contOp++;
                    }
                    try
                    {
                        int opCarrera = Convert.ToInt32(Console.ReadLine());
                        if (opCarrera - 1 >= universidad.Carreras.Count)
                        {
                            var exitCarrera = 0;
                            do
                            {
                                Console.Out.WriteLine("El numero supero las opciones disponibles, intenta nuevamente");
                                Console.WriteLine("Seleccione el numero correspondiente a la carrera del estudiante");
                                Console.Out.WriteLine("Ingresar un caracter no numerico lanzara una excepcion");
                                contOp = 1;
                                foreach (Carrera carreraActual in universidad.Carreras)
                                {
                                    Console.WriteLine("[" + contOp + "] " + carreraActual.NombreCarrera);
                                    contOp++;
                                    opCarrera = Convert.ToInt32(Console.ReadLine());
                                    if (opCarrera - 1 < universidad.Carreras.Count)
                                    {
                                        exitCarrera = 1;
                                    }
                                }
                            } while (exitCarrera == 0);
                        }
                        Carrera carreraElegida = universidad.Carreras[opCarrera - 1];
                        CarreraEstudiante = carreraElegida;
                    }
                    catch (Exception e)
                    {
                        Console.Out.WriteLine("Se ingresó una opción no valida. Revise la entrada y reinicie el programa");
                        Console.WriteLine(e);
                        throw;
                    }
                    break;

                case "6":
                    Console.Out.WriteLine("Ingrese el nuevo numero de matricula");
                    NumMatricula = Console.ReadLine();
                    break;

                case "7":
                    Console.WriteLine("¿Es un estudiante de pregrado? [S/N]");
                    string prePos     = Console.ReadLine();
                    bool   boolPrePos = false;
                    if (prePos != null && prePos.Equals("s", StringComparison.InvariantCultureIgnoreCase))
                    {
                        boolPrePos = true;
                    }
                    else if (prePos != null && prePos.Equals("n", StringComparison.InvariantCultureIgnoreCase))
                    {
                        boolPrePos = false;
                    }
                    else
                    {
                        Console.WriteLine("Valor ingresado no valido, ingrese el valor nuevamente");
                        int exit = 0;
                        do
                        {
                            Console.WriteLine("¿Es un estudiante de pregrado? [S/N]");
                            prePos = Console.ReadLine();
                            if (prePos != null && prePos.Equals("s", StringComparison.InvariantCultureIgnoreCase))
                            {
                                boolPrePos = true;
                                exit       = 1;
                            }
                            else if (prePos != null && prePos.Equals("n", StringComparison.InvariantCultureIgnoreCase))
                            {
                                boolPrePos = false;
                                exit       = 1;
                            }
                            else
                            {
                                Console.Out.WriteLine("Valor ingresado no valida, ingrese su opcion nuevamente");
                            }
                        } while (exit == 0);
                    }
                    IsEstudiantePosgrado = boolPrePos;
                    break;

                case "8":
                    Console.Out.WriteLine("Saliendo del menu...");
                    break;

                default:
                    Console.Out.WriteLine("Opcion no valida");
                    break;
                }
            } while (opEdicion != "8");
        }
コード例 #3
0
 public abstract void CambiarDatos(Universidad universidad);
コード例 #4
0
 public abstract void CrearPersonaUniversitaria(Universidad universidad);
コード例 #5
0
        public override void CrearPersonaUniversitaria(Universidad universidad)
        {
            Console.WriteLine("\nSe ingresará un funcionario al sistema");
            Console.WriteLine("Ingrese los nombres del funcionario:");
            NombrePersona = Console.ReadLine();
            Console.WriteLine("Ingrese los apellido del funcionario");
            ApellidoPersona = Console.ReadLine();
            Console.Out.WriteLine("Ingrese el rut del funcionario sin puntos y con guion");
            Console.Out.WriteLine("Ejemplo: 20308423-5");
            string       rutProfesorPrelim = Console.ReadLine();
            const string patron            = @"[0-9]+-[0-9]{1}";

            if (Regex.IsMatch(rutProfesorPrelim ?? throw new InvalidOperationException(), patron) == false)
            {
                int exitoRut = 0;
                do
                {
                    Console.Out.WriteLine("Rut ingresado no cumple con el formato, intentelo nuevamente:");
                    Console.Out.WriteLine("Ingrese el rut del funcionario sin puntos y con guion");
                    Console.Out.WriteLine("Ejemplo: 20308423-5");
                    rutProfesorPrelim = Console.ReadLine();
                    if (Regex.IsMatch(rutProfesorPrelim ?? throw new InvalidOperationException(), patron))
                    {
                        exitoRut = 1;
                    }
                } while (exitoRut != 1);
            }
            RutFuncionario = rutProfesorPrelim;
            Console.WriteLine("Ingrese direccion del funcionario");
            DireccionPersona = Console.ReadLine();
            Console.WriteLine("Ingrese el numero de telefono del funcionario");
            NumeroTelefono = Console.ReadLine();
            Console.Out.WriteLine("Ingrese su departamento");
            Departamento = Console.ReadLine();
            Console.Out.WriteLine("Elija el tipo de contrato que posee actualmente:");
            Console.Out.WriteLine("[1] Fijo");
            Console.Out.WriteLine("[2] Honorario");
            var tipoSueldo = Console.ReadLine();

            if (tipoSueldo == "1")
            {
                TipoContrato = false;
            }
            else if (tipoSueldo == "2")
            {
                TipoContrato = true;
            }
            else
            {
                var exitoCon = 0;
                do
                {
                    Console.Out.WriteLine("Tipo de contrato no valido");
                    Console.Out.WriteLine("Ingrese la opcion nuevamente: ");
                    Console.Out.WriteLine("[1] Fijo");
                    Console.Out.WriteLine("[2] Honorario");
                    tipoSueldo = Console.ReadLine();
                    if (tipoSueldo == "1")
                    {
                        TipoContrato = false;
                        exitoCon     = 1;
                    }
                    else if (tipoSueldo == "2")
                    {
                        TipoContrato = true;
                        exitoCon     = 1;
                    }
                } while (exitoCon != 1);
            }
            Console.Out.WriteLine("Ingrese el tipo de perfil: ");
            Perfil = Console.ReadLine();
            try
            {
                Console.Out.WriteLine("Ingrese el sueldo: ");
                Console.Out.WriteLine("Usar caracteres no numericos lanzará una excepcion");
                int sueldo = Convert.ToInt32(Console.ReadLine());
                Sueldo = sueldo;
            }
            catch (Exception e)
            {
                Console.Out.WriteLine("Se recibió un caracter no numerico. Reinicie el programa e intente nuevamente.");
                Console.WriteLine(e);
                throw;
            }

            Console.Out.WriteLine("Perfil creado exitosamente");
        }
コード例 #6
0
        public override void CambiarDatos(Universidad universidad)
        {
            string opEdicion;

            do
            {
                Console.Out.WriteLine("¿Que dato desea modificar?");
                Console.Out.WriteLine("[1] Nombres");
                Console.Out.WriteLine("[2] Apellidos");
                Console.Out.WriteLine("[3] Direccion");
                Console.Out.WriteLine("[4] Numero de telefono");
                Console.Out.WriteLine("[5] Departamento");
                Console.Out.WriteLine("[6] RUT");
                Console.Out.WriteLine("[7] Tipo de contrato");
                Console.Out.WriteLine("[8] Perfil");
                Console.Out.WriteLine("[9] Sueldo");
                Console.Out.WriteLine("[10] Salir");
                Console.Out.WriteLine("Ingrese su opcion");
                opEdicion = Console.ReadLine();
                switch (opEdicion)
                {
                case "1":
                    Console.Out.WriteLine("Ingrese los nuevos nombres del usuario");
                    NombrePersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "2":
                    Console.Out.WriteLine("Ingrese los nuevos apellidos del usuario");
                    ApellidoPersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "3":
                    Console.Out.WriteLine("Ingrese la nueva direccion del usuario");
                    DireccionPersona = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "4":
                    Console.Out.WriteLine("Ingrese el nuevo numero de telefono del usuario");
                    NumeroTelefono = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "5":
                    Console.Out.WriteLine("Ingrese el nuevo departamento del usuario");
                    Departamento = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "6":
                    Console.Out.WriteLine("Ingrese el nuyevo rut del funcionario sin puntos y con guion");
                    Console.Out.WriteLine("Ejemplo: 20308423-5");
                    string       rutProfesorPrelim = Console.ReadLine();
                    const string patron            = @"[0-9]+-[0-9]{1}";
                    if (Regex.IsMatch(rutProfesorPrelim ?? throw new InvalidOperationException(), patron) == false)
                    {
                        int exitoRut = 0;
                        do
                        {
                            Console.Out.WriteLine("Rut ingresado no cumple con el formato, intentelo nuevamente:");
                            Console.Out.WriteLine("Ingrese el rut del funcionario sin puntos y con guion");
                            Console.Out.WriteLine("Ejemplo: 20308423-5");
                            rutProfesorPrelim = Console.ReadLine();
                            if (Regex.IsMatch(rutProfesorPrelim ?? throw new InvalidOperationException(), patron))
                            {
                                exitoRut = 1;
                            }
                        } while (exitoRut != 1);
                    }
                    RutFuncionario = rutProfesorPrelim;
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "7":
                    Console.Out.WriteLine("Elija el nuevo tipo de contrato que posee actualmente:");
                    Console.Out.WriteLine("[1] Fijo");
                    Console.Out.WriteLine("[2] Honorario");
                    var tipoSueldo = Console.ReadLine();
                    switch (tipoSueldo)
                    {
                    case "1":
                        TipoContrato = false;
                        break;

                    case "2":
                        TipoContrato = true;
                        break;

                    default:
                    {
                        var exitoCon = 0;
                        do
                        {
                            Console.Out.WriteLine("Tipo de contrato no valido");
                            Console.Out.WriteLine("Ingrese la opcion nuevamente: ");
                            Console.Out.WriteLine("[1] Fijo");
                            Console.Out.WriteLine("[2] Honorario");
                            tipoSueldo = Console.ReadLine();
                            if (tipoSueldo == "1")
                            {
                                TipoContrato = false;
                                exitoCon     = 1;
                            }
                            else if (tipoSueldo == "2")
                            {
                                TipoContrato = true;
                                exitoCon     = 1;
                            }
                        } while (exitoCon != 1);

                        break;
                    }
                    }
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "8":
                    Console.Out.WriteLine("Ingrese el nuevo perfil del funcionario");
                    Perfil = Console.ReadLine();
                    Console.Out.WriteLine("Cambio realizado correctamente");
                    break;

                case "9":
                    try
                    {
                        Console.Out.WriteLine("Ingrese el nuevo sueldo: ");
                        Console.Out.WriteLine("Usar caracteres no numericos lanzará una excepcion");
                        int sueldo = Convert.ToInt32(Console.ReadLine());
                        Sueldo = sueldo;
                    }
                    catch (Exception e)
                    {
                        Console.Out.WriteLine("Se recibió un caracter no numerico. Reinicie el programa e intente nuevamente.");
                        Console.WriteLine(e);
                        throw;
                    }
                    break;

                case "10":
                    Console.Out.WriteLine("Saliendo del menu...");
                    break;

                default:
                    Console.Out.WriteLine("Opcion no valida :(");
                    break;
                }
            } while (opEdicion != "10");
        }