public void CargarEvaluaciones() { var lista = new List <Evaluación>(); foreach (var curso in Escuela.Cursos) { foreach (var asignatura in curso.Asignaturas) { foreach (var alumno in curso.Alumnos) { var rnd = new Random(); for (int i = 0; i < 5; i++) { var eval = new Evaluación { Asignatura = asignatura, Nombre = $"{asignatura.Nombre} Ev#{i+1}", Nota = (float)(5 * rnd.NextDouble()), Alumno = alumno }; alumno.Evaluaciones.Add(eval); } } } } }
/// 5 Evaluaciones X Asignatura /// Notas al azar entre 0 y 0.5 /// Cada curso tiene una lista de asignaturas y /// cada curso tiene una lista de alumnos. /// Cada Evaluación esta mapeada con un alumno y /// una asignatura. // Nombre de la evaluación creada al azar. // private void CargarEvaluaciones() { Random rnd = new Random(); foreach (var curso in Escuela.Cursos) { string[] formato = { "Presencial", "Web", "Grabado", "Preadquirido" }; string[] TipoEvaluacion = { "Escrito", "Práctico", "Oral" }; foreach (var alumno in curso.Alumnos) { foreach (var asignatura in curso.Asignaturas) { for (int cont = 0; cont < 5; cont++) { string fo = formato[rnd.Next(0, formato.Length)]; string ti = TipoEvaluacion[rnd.Next(0, TipoEvaluacion.Length)]; var evaluacion = new Evaluación() { Nombre = $"Examen {fo} {ti} de {alumno.Nombre}", Alumno = alumno, Asignatura = asignatura, Nota = Math.Round(rnd.NextDouble() * 5, 2) }; alumno.Evaluaciones.Add(evaluacion); } } } } }
private void CargarEvaluaciones() { var rnd = new Random(); foreach (var curso in Escuela.Cursos) { foreach (var asignatura in curso.Asignaturas) { foreach (var alumno in curso.Alumnos) { for (int i = 0; i < 5; i++) { var evaluacion = new Evaluación() { Nombre = $"{asignatura.Nombre} Evaluación #{i + 1}", Alumno = alumno, Asignatura = asignatura, Nota = MathF.Round((float)rnd.NextDouble() * 5, 2) }; alumno.Evaluaciones.Add(evaluacion); } } } } }
private static void PruebasDePolimorfismo() { Printer.DrawLine(20); Printer.DrawLine(20); Printer.DrawLine(20); Printer.WriteTitle("Pruebas de Polimorfismo"); var alumnoTest = new Alumno { Nombre = "Claire Underwood" }; ObjetoEscuelaBase ob = alumnoTest; Printer.WriteTitle("Alumno"); WriteLine($"Alumno: {alumnoTest.Nombre}"); WriteLine($"Alumno: {alumnoTest.UniqueId}"); WriteLine($"Alumno: {alumnoTest.GetType()}"); Printer.WriteTitle("ObjetoEscuelaBase"); WriteLine($"Alumno: {ob.UniqueId}"); WriteLine($"Alumno: {ob.GetType()}"); var objetoDummy = new ObjetoEscuelaBase() { Nombre = "Frank Underwood" }; Printer.WriteTitle("ObjetoEscuelaBase"); WriteLine($"Alumno: {objetoDummy.UniqueId}"); WriteLine($"Alumno: {objetoDummy.GetType()}"); var evaluación = new Evaluación() { Nombre = "Evaluación de math", Nota = 4.5f }; Printer.WriteTitle("Evaluación"); WriteLine($"Evaluación: {evaluación.Nombre}"); WriteLine($"Evaluación: {evaluación.UniqueId}"); WriteLine($"Evaluación: {evaluación.Nota}"); WriteLine($"Evaluación: {evaluación.GetType()}"); ob = (Evaluación)evaluación; Printer.WriteTitle("Evaluación"); WriteLine($"Evaluación: {ob.Nombre}"); WriteLine($"Evaluación: {ob.UniqueId}"); WriteLine($"Evaluación: {evaluación.Nota}"); WriteLine($"Evaluación: {ob.GetType()}"); if (ob is Alumno) { Alumno alumnoRecuperado = (Alumno)ob; } else if (ob is Evaluación) { Evaluación evaluaciónRecuperada = (Evaluación)ob; } Alumno alumnoRecuperadoB = ob as Alumno; System.Console.WriteLine(alumnoRecuperadoB); Evaluación evaluaciónRecuperadaB = ob as Evaluación; System.Console.WriteLine(evaluaciónRecuperadaB); //alumnoTest= (Alumno) ob;//Marca error ya que no se creo como objeto Alumno. //alumnoTest= (Alumno) objetoDummy;//Exepcion }
static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += AccionDelEvento; //AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1); var engine = new EscuelaEngine(); engine.Inicializar(); Printer.WriteTitle("BIENVENIDOS A LA ESCUELA"); var reporteador = new Reporteador(engine.GetDiccionarioObjetos()); //new Reporteador(null); var evaluaciones = reporteador.GetListaEvaluaciones(); var asignaturas = reporteador.GetListaAsignaturas(); var dicEvalXAsig = reporteador.GetDicEvaluaXAsig(); var listaPromXAsig = reporteador.GetPromedioAlumnosPorAsignaturas(); var mejoresPromedios = reporteador.GetMejoresPromediosPorAsignaturas(10); Printer.WriteTitle("Captura de una evaluación por consola."); var eval = new Evaluación(); string nombre; WriteLine("Ingrese el nombre de la evaluación"); Printer.PresioneEnter(); nombre = Console.ReadLine(); if (string.IsNullOrWhiteSpace(nombre)) { throw new ArgumentException("El valor del nombre no puede ser vacio."); } else { eval.Nombre = nombre.ToLower(); System.Console.WriteLine("El nombre de la evaluación ha sido ingresado correctamente."); } WriteLine("Ingrese el valor de la nota"); Printer.PresioneEnter(); var notastring = Console.ReadLine(); if (string.IsNullOrWhiteSpace(notastring)) { throw new ArgumentException("El valor de la nota no puede ser vacio."); } else { try{ eval.Nota = double.Parse(notastring); if (eval.Nota < 0 || eval.Nota > 5) { throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 5."); } System.Console.WriteLine("El valor de la nota ha sido ingresado correctamente."); } catch (ArgumentOutOfRangeException arge) { Printer.WriteTitle(arge.Message); WriteLine("Saliendo del programa."); } catch (Exception) { Printer.WriteTitle("El valor de la nota no es un número válido."); WriteLine("Saliendo del programa."); } } }
static void Main(string[] args) { var engine = new EscuelaEngine(); engine.Inicializar(); Printer.WriteTitle("Bienvenidos a la Escuela"); var reporteador = new Reporteador(engine.GetDiccionarioObjetos()); var evalList = reporteador.GetListaEvaluaciones(); Printer.WriteTitle("Captura de una Evaluación por Consola"); var nEval = new Evaluación(); string nombre, notaString; float nota; WriteLine("Ingrese el nombre de la evaluación"); Printer.PresioneEnter(); nombre = Console.ReadLine(); if (string.IsNullOrEmpty(nombre)) { throw new ArgumentException("El valor del nombre no puede ser vacio"); } else { nEval.Nombre = nombre.ToLower(); WriteLine("El nombre de la evaluación ha sido ingresado correctamente"); } WriteLine("Ingrese la nota de la evaluación"); Printer.PresioneEnter(); notaString = Console.ReadLine(); if (string.IsNullOrEmpty(nombre)) { throw new ArgumentException("El valor de la nota no puede ser vacio"); } else { try { nEval.Nota = float.Parse(notaString); if (nEval.Nota < 0 || nEval.Nota > 5) { throw new ArgumentOutOfRangeException("La nota debe ser entre 0 y 5"); } WriteLine("La nota de la evaluación ha sido ingresado correctamente"); } catch (ArgumentOutOfRangeException arge) { Printer.WriteTitle(arge.Message); } catch (Exception) { WriteLine("La nota de la evaluación no es un número válido"); } finally { //finally siempre se va a ejecutar Printer.WriteTitle("Se ejecuto el finally"); } } }
static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += ActionDelEvento; AppDomain.CurrentDomain.ProcessExit += (o, s) => Printer.Beep(2000, 1000, 1); AppDomain.CurrentDomain.ProcessExit -= ActionDelEvento; var engine = new EscuelaEngine(); engine.Inicializar(); Printer.WriteTitle("BIENVENIDOS A LA ESCUELA"); //Printer.Beep(10000, cantidad: 10); //ImprimirCursosEscuela(engine.Escuela); var reporteador = new Reporteador(engine.GetDiccionarioObjetos()); var evalList = reporteador.GetListaEvaluaciones(); var listAsg = reporteador.GetListaAsignaturas(); var listaEvalXAsig = reporteador.GetDicEvaluacionesXAsig(); var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura(); Printer.WriteTitle("Captura de una Evaluación por Consola"); var newEval = new Evaluación(); string nombre, notaString; float nota; WriteLine("Ingrese el nombre de la Evaluación"); Printer.PresioneEnter(); nombre = Console.ReadLine(); if (string.IsNullOrWhiteSpace(nombre)) { Printer.WriteTitle("El valor del nombre no puede ser vacio"); WriteLine("Saliendo del programa"); } else { newEval.Nombre = nombre.ToLower(); WriteLine("El nombre de la Evaluación ha sido ingresado correctamente"); } WriteLine("Ingrese la nota de la Evaluación"); Printer.PresioneEnter(); notaString = Console.ReadLine(); if (string.IsNullOrWhiteSpace(notaString)) { Printer.WriteTitle("El valor de la nota no puede ser vacio"); WriteLine("Saliendo del programa"); } else { try { newEval.Nota = float.Parse(notaString); if (newEval.Nota < 0 || newEval.Nota > 5) { throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 5"); } WriteLine("La nota de la Evaluación ha sido ingresada correctamente"); return; } catch (ArgumentOutOfRangeException arge) { Printer.WriteTitle(arge.Message); WriteLine("Saliendo del programa"); } catch (Exception) { Printer.WriteTitle("El valor de la nota no es número válido"); WriteLine("Saliendo del programa"); } finally { Printer.WriteTitle("FINALLY"); Printer.Beep(2500, 500, 3); } } // Dictionary<int, string> diccionario = new Dictionary<int, string>(); // diccionario.Add(10, "Duvan"); // diccionario.Add(23, "Lorem Ipsum"); // foreach (var keyValPair in diccionario) // { // WriteLine($"key: {keyValPair.Key} Valor: {keyValPair.Value}"); // } // var dictmp = engine.GetDiccionarioObjetos(); // engine.ImprimirDiccionario(dictmp, true); //////////////////EJECICIOS DICCIONARIO////////////////// // Printer.WriteTitle("Acceso a Diccionario"); // //WriteLine(diccionario[23]); // diccionario[0] = "Pekerman"; // WriteLine(diccionario[0]); // Printer.WriteTitle("Otro diccionario"); // var dic = new Dictionary<string, string>(); // dic["Luna"] = "Cuerpo celeste que gira alrededor de la tierra"; // WriteLine(dic["Luna"]); // dic["Luna"] = "Protagonista de soy Luna"; // dic.Add("Luna", "Protagonista de Soy Luna");//Saca error // WriteLine(dic["Luna"]); /////////////////////////////////////////////////////////// //////////////PRUEBAS DE POLIMORFISMO///////////////// //var obj = new ObjetoEscuelaBase(); // Printer.DrawLine(20); // Printer.DrawLine(20); // Printer.DrawLine(20); // Printer.WriteTitle("Pruebas de Polimorfismo"); // var alumnoTest = new Alumno { Nombre = "Claire UnderWood" }; // Printer.WriteTitle("Alumno"); // WriteLine($"Alumno: {alumnoTest.Nombre}"); // WriteLine($"Alumno: {alumnoTest.UniqueId}"); // WriteLine($"Alumno: {alumnoTest.GetType()}"); // ObjetoEscuelaBase ob = alumnoTest; // Printer.WriteTitle("ObjetoEscuela"); // WriteLine($"Alumno: {ob.Nombre}"); // WriteLine($"Alumno: {ob.UniqueId}"); // WriteLine($"Alumno: {ob.GetType()}"); // var objDummy = new ObjetoEscuelaBase() { Nombre = "Frank Underwood" }; // Printer.WriteTitle("ObjetoEscuelaBase"); // WriteLine($"Alumno: {objDummy.Nombre}"); // WriteLine($"Alumno: {objDummy.UniqueId}"); // WriteLine($"Alumno: {objDummy.GetType()}"); // var evaluación = new Evaluación() { Nombre = "Evaluación de math", Nota = 4.5f }; // Printer.WriteTitle("Evaluación"); // WriteLine($"Evaluación: {evaluación.Nombre}"); // WriteLine($"Evaluación: {evaluación.UniqueId}"); // WriteLine($"Evaluación: {evaluación.Nota}"); // WriteLine($"Evaluación: {evaluación.GetType()}"); // ob = evaluación; // Printer.WriteTitle("ObjetoEscuela"); // WriteLine($"Alumno: {ob.Nombre}"); // WriteLine($"Alumno: {ob.UniqueId}"); // WriteLine($"Alumno: {ob.GetType()}"); // alumnoTest = (Alumno)evaluación; // if (ob is Alumno) // { // Alumno alumnoRecuperado = (Alumno)ob; // } // Alumno alumnoRecuperado2 = ob as Alumno; // if (alumnoRecuperado2 != null) // { // } ///////////////////////////////////////////////////// //engine.Escuela.LimpiarLugar(); //////Obtener objetos a través de linq////////////// // var listaILugar = from obj in listaObjetos // where obj is ILugar // select (ILugar) obj; // var listaILugar = from obj in listaObjetos // where obj is Alumno // select (Alumno) obj; /////////////////////////////////////////////////// ////////////////PARAMETROS DE SALIDAD///////////// ///Forma 1 // int dummy = 0; // var listaObjetos = engine.GetObjetoEscuelas( // out int conteoEvaluaciones, // out dummy, // out dummy, // out dummy); //Forma 2 *Utilizar variable dummy // int dummy = 0; // var listaObjetos = engine.GetObjetoEscuelas( // out int conteoEvaluaciones, // out int conteoCursos, // out int conteoAsignaturas, // out int conteoAlumnos // ); //Forma 3 *Utilizando sobrecargas de metodos // int dummy = 0; // var listaObjetos = engine.GetObjetoEscuelas(); // listaObjetos.Add(new Evaluación { Nombre = "Curso Loco" }); ///////////////////////////////////////////////////////////////////// }
static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += AccionDelEvento; var engine = new EscuelaEngine(); engine.Inicializar(); Printer.WriteTitle("Bienvenidos a la escuela"); var reporteador = new Reporteador(engine.GetDiccionarioObjetos()); var evalList = reporteador.GetListaEvaluaciones(); var listaAsg = reporteador.GetListaAsignaturas(); var listaEvalXAsig = reporteador.GetDicEvaluaXAsig(); var listaPromXAsig = reporteador.GetPromeAlumnPorAsignatura(); Printer.WriteTitle("Captura de una evaluación por consola"); var newEval = new Evaluación(); string nombre, notastring; WriteLine("Ingrese el nombre de la evaluación "); Printer.PresioneENTER(); nombre = Console.ReadLine(); if (string.IsNullOrWhiteSpace(nombre)) { Printer.WriteTitle("El nombre no puede estar vacio"); WriteLine("Saliendo del programa"); } else { newEval.Nombre = nombre.ToLower(); WriteLine("El nombre de la evaluación ha sido ingresado correctamente"); } WriteLine("Ingrese la nota de la evaluación "); Printer.PresioneENTER(); notastring = Console.ReadLine(); if (string.IsNullOrWhiteSpace(notastring)) { Printer.WriteTitle("El valor de la nota no puede estar vacio"); WriteLine("Saliendo del programa"); } else { try { newEval.Nota = float.Parse(notastring); if (newEval.Nota < 0 || newEval.Nota > 10) { throw new ArgumentOutOfRangeException("La nota debe estar entre 0 y 10"); } WriteLine("La nota de la evaluación ha sido ingresado correctamente"); } catch (ArgumentOutOfRangeException arge) { Printer.WriteTitle(arge.Message); WriteLine("Saliendo del programa"); } catch (Exception) { Printer.WriteTitle("El valor de la nota no es un número válido"); WriteLine("Saliendo del programa"); } finally { WriteLine("FINALLY"); } } }