static void Main(string[] args) { Aula a = new Aula(); a.Rellenar(); int dato = 10; String alumno; String asignatura; int max = 0; int min = 0; String[] alumnos = null; int[,] matriz; 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 maxima y minima de un alumno"); Console.WriteLine("7. Tabla de solo aprobados"); Console.WriteLine("8. Visualizar tabla completa"); Console.WriteLine("9. Salir"); try { dato = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("Has introducido un valor no valido"); } Console.ReadKey(); switch (dato) { case 1: Console.WriteLine("Media de las asignaturas: {0:0.###}", a.Media()); break; case 2: alumno = PedirAlumno(); double aux = a.MediaAlumno(alumno); if (aux == -1) { Console.WriteLine("El alumno no existe"); } else { Console.WriteLine("La media del alumno {1} es: {0}", aux, alumno); } break; case 3: asignatura = PedirAsignatura(); if (a.MediaAsignatura(asignatura) == -1) { Console.WriteLine("Datos invalidos"); } else { Console.WriteLine("La media de la asignatura {1} es: {0}", a.MediaAsignatura(asignatura), asignatura); } break; case 4: alumno = PedirAlumno(); a.NotasAlumno(alumno); break; case 5: asignatura = PedirAsignatura(); a.NotasAsignatura(asignatura); break; case 6: alumno = PedirAlumno(); a.MaxAndMin(alumno, ref max, ref min); if (max == 0 && min == 0) { Console.WriteLine("Alumno no valido"); } else { Console.WriteLine("El alumno {0} ha sacado de maximo un {1} y una " + "nota minima de {2}", alumno, max, min); } break; case 7: matriz = a.Aprobados(ref alumnos); a.EscribirAprobados(matriz, alumnos); break; case 8: a.TablaCompleta(); break; case 9: Console.WriteLine("Hasta otra"); break; default: Console.WriteLine("Opcion no valida"); break; } } while (dato != 9); }