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; }
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"); }
public abstract void CambiarDatos(Universidad universidad);
public abstract void CrearPersonaUniversitaria(Universidad universidad);
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"); }
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"); }