public class ejercicio_alumnos { /** * Se quiere guardar la información de las notas de una clase de alumnos. * La clase cómo máximo puede tener 30 alumnos y vamos a guardar para cada * alumno su DNI, su nombre y las notas de 3 asignaturas (programación, * sistemas y redes). * * Piensa y decide la estructura de datos que vas a utilizar para resolver el problema. * * Lo primero que deberás hacer es introducir el DNI y el nombre de cada alumno * y sus tres notas. Se pueden meter camo maximo 30 alumnos, pero si la clase tiene * menos se introducir� como DNI un "0" para terminar. * * A continuaci�n se mostrar� el siguiente men� en pantalla, que se ir� repitiendo * hasta que pulsemos la opci�n de salir. * * 1) Listado de alumnos con sus tres notas. * 2) Listado de alumnos con su nota media (Sobresaliente:9-10, * Notable: 8, Bien: 6-7, Suficiente: 5, Suspenso: menor que 5. * 3) Buscar los DNI. Se pedir� un DNI y si existe el alumno con dicho * DNI se mostrar� su nombre y sus datos. * 4) Mostrar notas por asignaturas: Se pedir� una asignatura y se mostrar� * el listado de alumnos s�lo con las notas de esa asignatura. * 5) Listados de m�ximas notas: Se sacar� un listado que para cada * asignatura se mostrara el listado de alumnos que han sacado m�s nota. * 6) Salir */ public static void main(String[] args) { // variables String [][] dni_nombre=new String [2][2]; //declaramos un string de n filas y n columas int[][] notas=new int [2][3]; //[n]=representa los alumnos [n2]=representa las asignaturas String salir=""; char pausa; int i,j, opcion,media=0,pos=0, maximapro=-999,maximare=-999, maximasis=-999; String dni_buscar="", asignatura_buscar=""; boolean encontrado=false; //algoritmo for(i=0;i<dni_nombre.length;i++) { System.out.print("introduce DNI: "); dni_nombre[i][0]=Terminal.leeCadena(""); if(dni_nombre[i][0].startsWith("0")) { break; } System.out.print("introduce nombre: "); dni_nombre[i][1]=Terminal.leeCadena(); System.out.print("nota de programacion: "); notas[i][0]=Terminal.leeEntero(""); System.out.print("nota de sistemas: "); notas[i][1]=Terminal.leeEntero(""); System.out.print("nota de redes: "); notas[i][2]=Terminal.leeEntero(""); } for (i=0;i<50;i++) { System.out.print("\n"); } do { System.out.println("\n1. lista de alumnos y notas"); System.out.println("2. lista de alumnos y nota media"); System.out.println("3. Buscar por DNI"); System.out.println("4. Mostrar notas por asignatura"); System.out.println("5. listado de Maximas notas"); System.out.println("6. Salir"); opcion=Terminal.leeEntero("elige una opcion: "); switch (opcion) { case 1: for(i=0;i<dni_nombre.length;i++) { System.out.println("\n"+dni_nombre[i][1]); System.out.println("Programacion: "+notas[i][0]); System.out.println("Sistemas: "+notas[i][1]); System.out.println("Redes: "+notas[i][2]); } pausa=Terminal.leeCaracter(""); break; case 2: for (i=0; i < dni_nombre.length; i++) { media=0; for (j=0; j<notas[i].length;j++) { media=media+notas[i][j]; } media=media/notas[i].length; switch (media) { case 10: case 9: System.out.println("\n"+dni_nombre[i][1]+" : Sobresaliente"); break; case 8: System.out.println("\n"+dni_nombre[i][1]+" : notable"); break; case 7: case 6: System.out.println("\n"+dni_nombre[i][1]+" : Bien"); break; case 5: System.out.println("\n"+dni_nombre[i][1]+" : suficiente"); break; default: System.out.println("\n"+dni_nombre[i][1]+" : suspenso"); break; } } pausa=Terminal.leeCaracter(""); break; case 3: dni_buscar=Terminal.leeCadena("introduce el DNI a buscar: "); for (i=0;i<dni_nombre.length;i++) { if (dni_buscar.startsWith(dni_nombre[i][0])) { encontrado=true; break; } else { encontrado=false; } } if(encontrado==true) { System.out.println("El alumno es: "); System.out.println("\n"+dni_nombre[i][1]); System.out.println("Programacion: "+notas[i][0]); System.out.println("Sistemas: "+notas[i][1]); System.out.println("Redes: "+notas[i][2]); } else if(encontrado==false) { System.out.println("El alumno no existe "); } pausa=Terminal.leeCaracter(""); break; case 4: asignatura_buscar=Terminal.leeCadena("introduce una asignaura: "); asignatura_buscar.toLowerCase(); for (i=0;i<dni_nombre.length;i++) { if (asignatura_buscar.equals("programacion")) { System.out.println(dni_nombre[i][1]); System.out.println("tiene un: "+notas[i][0]); System.out.println(); } else if (asignatura_buscar.equals("sistemas")) { System.out.println(dni_nombre[i][1]); System.out.println("tiene un: "+notas[i][1]); System.out.println(); } else if (asignatura_buscar.equals("redes")) { System.out.println(dni_nombre[i][1]); System.out.println("tiene un: "+notas[i][2]); System.out.println(); } else { System.out.println("la asigantura no es correcta"); } } pausa=Terminal.leeCaracter(""); break; case 5: for (j=0;j<notas.length;j++) { for (i=0;i<notas.length;i++) { System.out.print(notas[i][j]); } System.out.println(); } break; case 6: salir=Terminal.leeCadena("esta seguro que desea salir: "); break; } }while(!salir.startsWith("S")); }}