static void Main(string[] args)
        {
            Aula aula = new Aula();

            aula.rellenarTabla();

            bool repetir = true;

            while (repetir)
            {
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("1 - Calcular la media de notas de toda la tabla");
                Console.WriteLine("2 - Media de un alumno");
                Console.WriteLine("3 - Media de una asignatura");
                Console.WriteLine("4 - Visualizar notas de un alumno");
                Console.WriteLine("5 - Visualizar notas de una asignatura");
                Console.WriteLine("6 - Nota máxima y mínima de un alumno");
                Console.WriteLine("7 - Tabla solo de aprobados");
                Console.WriteLine("8 - Visualizar tabla completa");
                Console.WriteLine("9 - Salir");
                Console.WriteLine();
                Console.WriteLine("Qué quieres hacer?");
                try
                {
                    int opcion = Convert.ToInt32(Console.ReadLine());

                    int alumno, materia;

                    switch (opcion)
                    {
                    case 1:
                        Console.WriteLine("La media de todas las notas es : {0:N2}", aula.calcularMediaTotal());
                        Console.WriteLine();
                        Console.WriteLine("Pulsa Enter para continuar");
                        Console.ReadLine();
                        break;

                    case 2:
                        Console.WriteLine("Introduce el índice del alumno sobre el que quieres ver la media : ");
                        alumno = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("La media de las notas de {0} es : {1:N2}", aula[alumno - 1], aula.calcularMediaAlumno(alumno));
                        Console.WriteLine();
                        Console.WriteLine("Pulsa Enter para continuar");
                        Console.ReadLine();
                        break;

                    case 3:
                        Console.WriteLine("Introduce el índice de la materia sobre la que quieres ver la media : ");
                        materia = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("La media de las notas es : {0:N2}", aula.calcularMediaAsignatura(materia));
                        Console.WriteLine();
                        Console.WriteLine("Pulsa Enter para continuar");
                        Console.ReadLine();
                        break;

                    case 4:
                        Console.WriteLine("Introduce el índice del alumno sobre el que quieres sus notas : ");
                        alumno = Convert.ToInt32(Console.ReadLine());
                        int[] notasAlumno = aula.verNotasAlumno(alumno);

                        Console.WriteLine("Las notas de {0} son : ", aula[alumno - 1]);
                        for (int i = 0; i < notasAlumno.Length; i++)
                        {
                            Console.Write("{0}\t", notasAlumno[i]);
                        }
                        Console.Write("\n");
                        Console.WriteLine();
                        Console.WriteLine("Pulsa enter para continuar");
                        Console.ReadLine();
                        break;

                    case 5:
                        Console.WriteLine("Introduce el índice de la materia sobre la que quieres ver sus notas : ");
                        materia = Convert.ToInt32(Console.ReadLine());
                        int[] notasMateria = aula.verNotasAsignatura(materia);

                        Console.WriteLine("Las notas son : ");
                        for (int i = 0; i < notasMateria.Length; i++)
                        {
                            Console.Write("{0} :\t", aula[i]);
                            Console.Write("{0}\n", notasMateria[i]);
                        }
                        Console.WriteLine();
                        Console.WriteLine("Pulsa enter para continuar");
                        Console.ReadLine();
                        break;

                    case 6:
                        Console.WriteLine("Introduce el índice del alumno sobre el que quieres ver la nota más baja y la más alta : ");
                        alumno = Convert.ToInt32(Console.ReadLine());
                        int[] notaMinMax = aula.notaMaxMinAlumno(ref alumno);
                        Console.WriteLine("La nota más baja de {0} es : {1}", aula[alumno - 1], notaMinMax[0]);
                        Console.WriteLine("La nota más alta de {0} es : {1}", aula[alumno - 1], notaMinMax[1]);
                        Console.WriteLine();
                        Console.WriteLine("Pulsa Enter para continuar");
                        Console.ReadLine();
                        break;

                    case 7:
                        Hashtable     aprobados = aula.tablaAprobados(); // TODO : Arreglar lo de esta función, que no se puede guardar una clave igual más de una vez en una Hashtable
                        List <String> nombres   = new List <string>();

                        foreach (DictionaryEntry de in aprobados)
                        {
                            nombres.Add(de.Key.ToString());     // Guardo los nombres de los alumnos en una colección
                        }

                        // Escribo la tabla :
                        for (int a = 0; a < nombres.Count; a++)
                        {
                            if (a == 0)
                            {
                                Console.Write("\t\t");
                            }

                            Console.Write(nombres[a] + "\t");
                            foreach (DictionaryEntry de in aprobados)
                            {
                                if (de.Key.ToString() == nombres[a])
                                {
                                    Console.Write(de.Value + "\t");
                                }
                            }

                            Console.WriteLine();
                        }
                        Console.WriteLine();



                        break;

                    case 8:

                        for (int a = 0; a < 12; a++)
                        {
                            if (a == 0)
                            {
                                Console.Write(String.Format("{0, 20}", aula[a]));
                            }
                            else if (a == 11)
                            {
                                Console.Write(String.Format("{0, 12}", aula[a]));
                            }
                            else
                            {
                                Console.Write(String.Format("{0, 8}", aula[a]));
                            }
                        }
                        Console.WriteLine();

                        Aula.asignaturas asig;
                        for (int i = 0; i < aula.longitudDimensiónTabla(0); i++)
                        {
                            asig = (Aula.asignaturas)i;
                            Console.Write(String.Format("{0, -12}", asig));

                            for (int j = 0; j < aula.longitudDimensiónTabla(1); j++)
                            {
                                if (j == 11)
                                {
                                    Console.Write(String.Format("{0, 10}", aula[i, j]));
                                }
                                else
                                {
                                    Console.Write(String.Format("{0, 8}", aula[i, j]));
                                }
                            }

                            Console.Write("\n");
                        }

                        break;

                    case 9:
                        repetir = false;
                        Console.WriteLine("Hasta luego!");
                        break;

                    default:
                        Console.WriteLine("No existe esa opción, repite");
                        break;
                    }
                }
                catch (Exception e)
                {
                    if (e is OverflowException || e is FormatException || e is NullReferenceException || e is IndexOutOfRangeException)
                    {
                        Console.WriteLine("Ha ocurrido un error en escribir el dato, asegúrate de que lo escribes bien");
                    }
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            Aula a = new Aula();

            var  menu        = new Menu.Menu(new string [] { "Calcular media del aula", "Media de un alumno", "Media asignatura", "Ver notas alumno", "Ver notas asignatura", "Nota maxima y minima alumno", "Aprobados", "Ver tabla entera", "Salir" });
            var  menuPainter = new ConsoleMenuPainter(menu);
            int  choice      = -1;
            bool picked      = false;

            while (choice != 8)
            {
                menuPainter.Paint(0, 0);
                var keyInfo = Console.ReadKey();

                switch (keyInfo.Key)
                {
                case ConsoleKey.UpArrow: menu.moveUp(); break;

                case ConsoleKey.DownArrow: menu.moveDown(); break;

                case ConsoleKey.Enter:
                    choice = menu.selectedIndex;
                    picked = !picked;
                    Console.ResetColor();
                    break;
                }

                if (picked)
                {
                    switch (choice)
                    {
                    case 0:
                        Console.Clear();
                        Console.WriteLine("Media de la tabla: {0}", a.MediaAula());
                        Console.ReadKey();
                        goto default;

                    case 1:
                        Console.Clear();
                        MenuMediaAlumnos(a);
                        goto default;

                    case 2:
                        Console.Clear();
                        MenuMediaAsignaturas(a);
                        goto default;

                    case 3:
                        Console.Clear();
                        MenuNotasAlumnos(a);
                        goto default;

                    case 4:
                        Console.Clear();
                        MenuNotasAsignaturas(a);
                        goto default;

                    case 5:
                        Console.Clear();
                        int max = 0; int min = 0;
                        MenuMaxMinAlumnos(a, ref max, ref min);
                        goto default;

                    case 6:
                        Console.Clear();
                        Interfaz.ShowSoloAporbados(a);
                        Console.ReadKey();
                        goto default;

                    case 7:
                        Console.Clear();
                        Interfaz.ShowAula(a);
                        Console.ReadKey();
                        goto default;

                    default:
                        picked = !picked;
                        Console.Clear();
                        break;
                    }
                }
            }
        }
Example #3
0
        public void menu()
        {
            Aula aula = new Aula();
            int  opcion;
            bool flag;

            do
            {
                try
                {
                    flag = true;
                    do
                    {
                        Console.WriteLine("1.-Calcular la media de notas de toda la tabla");
                        Console.WriteLine("2.-Media de un Alumno");
                        Console.WriteLine("3.-Media de una Asignatura");
                        Console.WriteLine("4.-Visualizar notas de un alumno");
                        Console.WriteLine("5.-Visualizar notas de una asignatura");
                        Console.WriteLine("6.-Nota máxima y mínima de un alumno");
                        Console.WriteLine("7.-Tabla solo de aprobados");
                        Console.WriteLine("8.-Visualizar Tabla completa");
                        Console.WriteLine("9.-Salir");
                        opcion = Convert.ToInt32(Console.ReadLine());

                        switch (opcion)
                        {
                        case 1:
                            Console.WriteLine("Media Total: " + aula.mediaTotal());
                            Console.ReadLine();
                            break;

                        case 2:
                            Console.WriteLine("Media del alumno: " + aula.mediaAlumno(0));
                            Console.ReadLine();
                            break;

                        case 3:
                            Console.WriteLine("Media de la Asignatura: " + aula.mediaAsignatura(0));
                            Console.ReadLine();
                            break;

                        case 4:
                            aula.notasAlumno(0);
                            break;

                        case 5:
                            aula.notasAsignatura(0);
                            break;

                        case 6:
                            //Console.WriteLine(aula[0,0]);
                            aula.maxMin(0);
                            break;

                        case 7:
                            aula.aprobados();
                            break;

                        case 8:
                            aula.mostrarTabla();
                            break;

                        case 9:
                            Console.WriteLine("Adios");
                            Console.ReadLine();
                            break;

                        default:
                            break;
                        }
                    } while (opcion != 9);
                }
                catch (Exception)
                {
                    flag = false;
                    Console.WriteLine("Opcion invalida");
                    Console.ReadLine();
                }
            } while (!flag);
        }
Example #4
0
 public static void ShowNotasAlumno(Aula a, string alumno)
 {
     Console.WriteLine(a.NotasAlumno(alumno));
 }