package institucion;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class Matricula {
private List<Docente> docentes = null;
private List<Estudiante> estudiantes = null;
private List<Materia> materias = null;
// MATRICULA DE DOCENTES //
docentes = new ArrayList<Docente>();
System.
out.
println("Para finalizar el ingreso de docentes digite en el nombre XXXX"); Docente docente = new Docente();
docente.leer();
while(docente.getNombredocente().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
docentes.add(docente);
docente = new Docente();
docente.leer();
}
// MATRICULA DE ESTUDIANTES //
estudiantes = new ArrayList<Estudiante>();
System.
out.
println("Para finalizar el ingreso de estudiantes digite en el nombre XXXX"); Estudiante estudiante = new Estudiante();
estudiante.leer();
while(estudiante.getNombre().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
estudiantes.add(estudiante);
estudiante = new Estudiante();
estudiante.leer();
}
// MATRICULA DE MATERIAS //
materias = new ArrayList<Materia>();
System.
out.
println("Para finalizar el ingreso de materias digite en el nombre XXXX"); Materia materia = new Materia();
materia.leer();
for ( int i=0; i<docentes.size(); i++ )
{
System.
out.
println(docentes.
get(i
).
getNombredocente()); }
System.
out.
println("Digite el nombre del docente que dicta la materia"); String buscador1
= lector.
readLine();
for ( int i=0; i<docentes.size(); i++ )
{
if ( docentes.get(i).getNombredocente().equalsIgnoreCase(buscador1) )
{
materia.docentesdelamateria.add(docentes.get(i).getNombredocente());
}
}
while(materia.getNombremateria().compareToIgnoreCase("XXXX")!=0) // Creacion infinita de Empleados hasta digitar XXXX //
{
materias.add(materia);
materia = new Materia();
materia.leer();
if ( materia.getNombremateria().compareToIgnoreCase("XXXX")!= 0){
for ( int i=0; i<docentes.size(); i++ )
{
System.
out.
println(docentes.
get(i
).
getNombredocente()); }
System.
out.
println("Digite el nombre del docente que dicta la materia"); String buscador2
= lector.
readLine();
for ( int i=0; i<docentes.size(); i++ )
{
if ( docentes.get(i).getNombredocente().equalsIgnoreCase(buscador2) )
{
materia.docentesdelamateria.add(docentes.get(i).getNombredocente());
}
}
}
}
}
System.
out.
println("Ingrese el nombre del estudiante"); String buscador1
= lector.
readLine();
for (Estudiante estudiante : estudiantes)
{
if ( estudiante.getNombre().equals(buscador1) )
{
System.
out.
println("Debe matricular minimo 1 materias o maximo 3"); System.
out.
println("¿Cuantas materias va a matricular?"); int n
= Integer.
parseInt(lector.
readLine()); if( n < 1 || n > 7 )
{System.
out.
println("Ingreso erroneo, porfavor ingrese nuevamente el numero de materias");} else{
for ( Materia materia : materias ) // Impresion de cada docente las materias de que dicta - PRUEBA 1
{
System.
out.
println(materia.
getNombremateria()); }
for ( int i=0; i<n; i++)
{
System.
out.
println("De las materias descritas anteriormente digite la que quiere matricular"); String buscador2
= lector.
readLine();
for ( Materia materia : materias ) // Impresion de cada docente las materias de que dicta - PRUEBA 2
{
if ( materia.getNombremateria().equalsIgnoreCase(buscador2) )
{
estudiante.materiasdelestudiante.add(materia.getCodigomateria());
materia.estudiantesdelamateria.add(estudiante.getCodigoestudiante());
}
}
}
}
System.
out.
println("-----------------------"); System.
out.
println("Las materias que matriculo: "+estudiante.
getNombre());
for ( Materia materia : materias )
for ( int i=0; i<estudiante.materiasdelestudiante.size(); i++)
{
if ( materia.getCodigomateria().equalsIgnoreCase(estudiante.materiasdelestudiante.get(i)))
{System.
out.
println(materia.
getNombremateria());} }
}
}
}
System.
out.
println("Ingrese el nombre del Docente"); String buscador1
= lector.
readLine();
for (Docente docente : docentes)
{
if ( docente.getNombredocente().equalsIgnoreCase(buscador1))
{
for ( Materia materia : materias )
{
for ( int i=0; i<materia.docentesdelamateria.size(); i++)
{
if ( materia.docentesdelamateria.get(i).equalsIgnoreCase(buscador1))
{
System.
out.
println("CODIGO: " +materia.
getCodigomateria() +materia.
getNombremateria()); }
}
}
System.
out.
println("Ingrese el codigo de la Materia a la que va a ingresar notas: "); String buscador2
= lector.
readLine();
for ( Materia materia : materias )
{
for ( int i=0; i<materia.docentesdelamateria.size(); i++ )
{
if ( materia.docentesdelamateria.get(i).equalsIgnoreCase(buscador1) && materia.getCodigomateria().equalsIgnoreCase(buscador2))
{
System.
out.
println("Los estudiantes de la materia son: ");
for ( int k=0; k<materia.estudiantesdelamateria.size(); k++)
{
for ( Estudiante estudiante : estudiantes )
{
if ( estudiante.getCodigoestudiante().equalsIgnoreCase(materia.estudiantesdelamateria.get(k)) )
{
System.
out.
println("CODIGO NOMBRE" +estudiante.
getCodigoestudiante() +estudiante.
getNombre()); System.
out.
println(estudiante.
getCodigoestudiante() +estudiante.
getNombre()); }
}
}
System.
out.
println("Seleccione el codigo del estudiante que quiere ingresar las notas: "); String buscador3
= lector.
readLine();
for ( int k=0; k<=materia.notasdelosestudiantes.size(); k++)
{
if ( materia.notasdelosestudiantes.size()==0)
{
for ( Estudiante estudiante : estudiantes )
{
for ( int j=0; j<=estudiante.materiasdelestudiante.size(); i++)
{
if ( estudiante.materiasdelestudiante.get(j).equalsIgnoreCase(buscador2) && estudiante.getCodigoestudiante().equalsIgnoreCase(buscador3) && materia.notasdelosestudiantes.size()==0 )
{
NotasEstudiante notasestudiante = new NotasEstudiante();
notasestudiante.crear_listas();
notasestudiante.setCodigoestudiante(estudiante.getCodigoestudiante());
int opcion;
do{
System.
out.
println("SIGUE DANDO VUELTAS!!!"); System.
out.
println("1. Notas de Quices"); System.
out.
println("2. Notas de Trabajos"); System.
out.
println("3. Notas de Parciales"); System.
out.
println("8. Salir");
System.
out.
print("Digite la opcion: "); opcion
= Integer.
parseInt(lector.
readLine());
switch(opcion){
case 1: notasestudiante.notas_quices();break;
case 2: notasestudiante.notas_trabajos();break;
case 3: notasestudiante.notas_parciales();break;
case 8: opcion = 8;break;
default: break;
}
}while(opcion!=8);
System.
out.
println("LOGRE SALIR!!!"); materia.notasdelosestudiantes.add(notasestudiante);
}
}
}
}
if ( materia.notasdelosestudiantes.get(k).getCodigoestudiante().equalsIgnoreCase(buscador3) )
{
System.
out.
println("Las notas de este estudiante ya fueron ingresadas, ¿Desea modificarlas? Y/N"); String buscador4
= lector.
readLine(); if ( buscador4.equalsIgnoreCase("Y") )
{
int opcion4 =0;
do{
System.
out.
println("1. Notas de Quices"); System.
out.
println("2. Notas de Trabajos"); System.
out.
println("3. Notas de Parciales"); System.
out.
println("4. Salir");
System.
out.
print("Digite la opcion: "); opcion4
= Integer.
parseInt(lector.
readLine());
switch(opcion4){
case 1: materia.notasdelosestudiantes.get(i).notas_quices();break;
case 2: materia.notasdelosestudiantes.get(i).notas_trabajos();break;
case 3: materia.notasdelosestudiantes.get(i).notas_parciales();break;
case 4: opcion4 = 4;break;
default: break;
}
}while(opcion4!=4);
opcion4 =0;
}
}
else {
for ( Estudiante estudiante : estudiantes )
{
for ( int j=0; j<=estudiante.materiasdelestudiante.size(); i++)
{
if ( estudiante.materiasdelestudiante.get(j).equalsIgnoreCase(buscador2) && estudiante.getCodigoestudiante().equalsIgnoreCase(buscador3) && materia.notasdelosestudiantes.size()!=1)
{
NotasEstudiante notasestudiante = new NotasEstudiante();
notasestudiante.crear_listas();
notasestudiante.setCodigoestudiante(estudiante.getCodigoestudiante());
int opcion4 =0;
do{
System.
out.
println("AQUIIII ESTA EL PROBLEMAAAAAA"); System.
out.
println("1. Notas de Quices"); System.
out.
println("2. Notas de Trabajos"); System.
out.
println("3. Notas de Parciales"); System.
out.
println("4. Salir");
System.
out.
print("Digite la opcion: "); opcion4
= Integer.
parseInt(lector.
readLine());
switch(opcion4){
case 1: notasestudiante.notas_quices();break;
case 2: notasestudiante.notas_trabajos();break;
case 3: notasestudiante.notas_parciales();break;
case 4: opcion4 = 4;break;
default: break;
}
}while(opcion4!=4);
opcion4 =0;
materia.notasdelosestudiantes.add(notasestudiante);
}
}
}
}
}
}
}
}
}
}
}
}