Está en la página 1de 9

public class Detective extends Persona{ private String numeroPlaca; public Detective(String nom, String ape, String num){

super(nom,ape); this.numeroPlaca = num; } public void InvestigarMafioso(){ Investigable v = new Investigable(); v.investigar(); } } }

public Perfil(int tipo, String des){ this.tipoPerfil = tipo; this.descripcion = des; }

import java.util.ArrayList; import java.util.List; public class Persona { private String nombre; private String apellido; private Foto foto; private List<Perfil> perfiles; public Persona(String nom, String ape){ this.nombre = nom; this.apellido = ape; perfiles = new ArrayList(); } public void setFoto(Foto f){ this.foto = f; } public void agregarPerfil (int tipo, String des){ Perfil p = new Perfil(tipo, des); perfiles.add (p); } public void quitarrPerfil (int indice){ perfiles.remove(indice); } } public class TMafia { public static void main(String args[]){ // Probamos Mafioso Mafioso m = new Mafioso("JUAN", "CASTRO"); Foto f1 = new Foto("c:/fotos/","foto01",1000); m.setFoto(f1); m.agregarPerfil(1,"Robo con arma blanca"); m.agregarPerfil(1,"Robo de vehiculos"); Lugar g1 = new Lugar("Plaza General","Av Arequipa"); m.agregarLugar(g1); Lugar g2 = new Lugar("Mercado Central","Av Lima"); m.agregarLugar(g2); // Probamos Detective Detective d = new Detective("LUIS", "MENDEZ", "23423456"); Foto f2 = new Foto("c:/fotos/","foto02",2000); d.setFoto(f2); d.agregarPerfil(2,"Detective Homicidios"); d.agregarPerfil(2,"Estudios Forenses"); d.InvestigarMafioso(); } }

public class Foto { private String rutaFoto; private String nombre; private float tamano; public Foto(String ruta, String nom, float tam){ this.rutaFoto = ruta; this.nombre = nom; this.tamano = tam; } } public class Investigable { public void investigar(){ System.out.println("Aqui se realiza la investigacion"); } } public class Lugar { private String nombre; private String direccion; public Lugar(String nom, String dir){ this.nombre = nom; this.direccion = dir; } } import java.util.ArrayList; import java.util.List; public class Mafioso extends Persona{ private List<Lugar> lugaresFrecuentes; public Mafioso(String nom, String ape){ super(nom,ape); lugaresFrecuentes = new ArrayList(); } public void agregarLugar(Lugar lugar){ lugaresFrecuentes.add (lugar); } public void quitarLugar(int indice){ lugaresFrecuentes.remove(indice); } } public class Perfil { private int tipoPerfil; private String descripcion;

public class Alumno { private String codAlumno; private String nombre; public Alumno(String cod, String nom){ this.codAlumno = cod; this.nombre = nom; } }

public static float datoFloat(){ try{ Float f=new Float(dato()); return f.floatValue(); } catch(NumberFormatException e){ return Float.NaN;//no es un numero: valor double } } public static double datoDouble(){ try{ Double d=new Double(dato()); return d.doubleValue(); } catch(NumberFormatException e){ return Double.NaN;//no es un numero: valor double }

public class Curso { private String codCurso; private String nombre; private int creditos; private Docente docente; public Curso(String cod, String nom, int cred){ this.codCurso = cod; this.nombre = nom; this.creditos = cred; } public void setDocente(Docente doc){ this.docente = doc; } }

} }

public class Matricula { Alumno alumno; Curso curso; int nota; public Matricula(Alumno alu, Curso cur){ this.alumno = alu; this.curso = cur; } public void setNota(int nota){ this.nota = nota; } }

public class Docente { private String codDocente; private String nombre; public Docente(String cod, String nom){ this.codDocente = cod; this.nombre = nom; } }

public class TMatricula { public static void main(String args[]){ import java.io.*; public class Leer { public static String dato(){ String sdato=" "; try{ //definir un flujo de caracteres de entrada: flujoE InputStreamReader isr=new InputStreamReader(System.in); BufferedReader flujoE=new BufferedReader(isr); //Leer.la entrada finaliza al pulsar la tecla entrar sdato =flujoE.readLine(); } catch(IOException e){ System.err.println("error: "+e.getMessage()); } return sdato;//devolver el dato tecleado } public static int datoInt(){ try{ return Integer.parseInt(dato()); } catch(NumberFormatException e){ return Integer.MAX_VALUE;//valor mas pequeo } } // Probamos Matricula Docente d1 = new Docente("D001","LUIS PEREZ"); Docente d2 = new Docente("D002","CARLOS CUETO"); System.out.print("sssssssssssssssssssss"+d1); Curso c1 = new Curso("C001","MATEMATICA 1",5); c1.setDocente(d1); Curso c2 = new Curso("C002","FISICA 1",4); c2.setDocente(d2); Curso c3 = new Curso("C002","FISICA 1",4); c3.setDocente(d1); Alumno a1 = new Alumno("A001","PEDRO TORRES"); Alumno a2 = new Alumno("A002","JORGE DIAZ"); Alumno a3 = new Alumno("A003","HECTOR LOPEZ"); Matricula m1 = new Matricula(a1,c1); Matricula m2 = new Matricula(a2,c3); Matricula m3 = new Matricula(a3,c2); // Notas de curso m1.setNota(14); m2.setNota(12); m3.setNota(8); } }

public class Alumno { private String Nombre; private String codigo; private Curso[] C1; private int dimC1; private final static int maxC=3; public Alumno() { dimC1=0; C1=new Curso[dimC1]; } public void setNombre(String N){ this.Nombre=N; } public void setCodigo(String Cod){ this.codigo=Cod; } public boolean verificar(){ return dimC1<maxC; } public String getNombre(){ return Nombre; } public String getCodigo(){ return codigo; } public void agregarCurso(Curso Cur){ redimension(dimC1+1,1); C1[dimC1-1]=new Curso(); C1[dimC1-1]=Cur;

} public void encabezado(){ System.out.println("\t\tCursos Matriculados "); } public void encabezado1(){ System.out.println("Codigo\t\tCurso\t\t\tDocente"); } public int getMax(){ return maxC; } public boolean buscarCurso(String cod){ boolean h=false; int i=0; if(dimC1==0){ return false; } while(i<dimC1&&!h){ if(C1[i].getCod().compareTo(cod)==0){ h=true; } else{ i++; } } return i<dimC1; } public int getDimc(){ return dimC1; } }

} public void redimension(int tam,int n){ Curso[] Aux=new Curso[tam]; int i; for(i=0;i<tam-n;i++){ Aux[i]=C1[i]; } dimC1=tam; C1=Aux; } public void mostrarCursos(){ raya(); encabezado(); raya(); encabezado1(); raya(); if(dimC1==0){ System.out.println("No se ha matriculado en ningun curso"); } else{ for(int i=0;i<dimC1;i++){ System.out.printf("%7s\t\t%20s\t\t%-20s\n",C1[i].getCod(),C1[i].getCurso(),C1[i].getDocente()); } } raya(); } public void raya(){ System.out.println("=============================== ========================");

public class Curso { private String Codigo; private String Nombre; private Docente D; private boolean verificarD; private Alumno[] Al; private int dimAl; private final static int maxAl=5; public Curso(){ verificarD=false; dimAl=0; } public Curso(String Nombre) { this.Nombre=Nombre; verificarD=false; dimAl=0; } public void setCurso(String Nombre){ this.Nombre=Nombre;

} public String getCurso(){ return Nombre; } public String getDocente(){ return verificarD==true ? D.getNombre():"No hay profesor"; } public String getCodigo(){ return verificarD==true ? D.getCod():""; } public void setDocente(Docente A){

D=A; verificarD=true; } } public void agregarAlumno(Alumno A){ } redimensionar(dimAl+1,1); Al[dimAl-1]=new Alumno(); Al[dimAl-1]=A; } public void redimensionar(int tam,int n){ int i; Alumno[] Aux=new Alumno[tam]; for(i=0;i<tam-n;i++ ){ Aux[i]=Al[i]; } dimAl=tam; Al=Aux; } public int getVacante(){ return maxAl-dimAl; } public int getDimAl(){ return dimAl; } public void setCod(int cont){ Codigo="00"+cont; } public String getCod(){ return Codigo; } public boolean getVerificar(){ return verificarD; } public void mostrarAlumnos(){ int i; raya(); encabezado(); if(dimAl==0){ System.out.println("No hay Alumnos"); } ordenarAlumnos(); raya(); for(i=0;i<dimAl;i++){ System.out.printf("%10s\t\t%-20s \n",Al[i].getCodigo(),Al[i].getNombre()); } raya(); } public static void encabezado(){ System.out.println("Codigo\t\tNombre" ); } public static void raya(){ System.out.println("=============================== ========================="); } public void ordenarAlumnos(){ int i; int j; for(i=0;i<dimAl-1;i++){ for(j=i+1;j<dimAl;j++){ if(Al[j].getCodigo().compareTo(Al[i].getCodigo())<=0){ } public class Docente { private String Nombre; private String cod; private Curso[] C; private int dimC; private final static int max=3; public Docente() { dimC=0; } }

Alumno AUX=Al[j]; Al[j]=Al[i]; Al[i]=AUX;

} public void setNombre(String Nombre){ this.Nombre=Nombre; } public String getNombre(){ return Nombre; } public void setCodigo(String cod){ this.cod=cod; } public String getCod(){ return cod; } public void agregarCurso(Curso Cur){ redimension(dimC+1,1); C[dimC-1]=new Curso(); C[dimC-1]=Cur; C[dimC-1].setCod(dimC); } public boolean verificar(){ return dimC<3; } public void redimension(int tam,int n){ Curso[] Aux=new Curso[tam]; int i; for(i=0;i<tam-n;i++){ Aux[i]=C[i]; } dimC=tam; C=Aux; } public void mostarCursos(){ mostrarDocente(); raya(); encabezado(); raya(); int i; for(i=0;i<dimC;i++){ System.out.printf("%10s\t%20s\n",C[i].getCod(),C[i].getCurso()); } raya(); } public static void encabezado1(){

System.out.println("Codigo\t\tNombre Docente"); } public static void raya(){ System.out.println("======================================= ==========================="); } public void encabezado(){ System.out.println("Codigo\t\tCurso"); } public void mostrarDocente(){ System.out.printf("%10s\t%20s\n",cod,Nombre); } } import java.io.*; public class Leer { public Leer() { } public static String dato(){ String sdato=""; try{ InputStreamReader isr=new InputStreamReader(System.in); BufferedReader flujoE=new BufferedReader(isr); sdato=flujoE.readLine(); } catch(IOException e){ System.err.println("Error:"+ e.getMessage()); } return sdato; } public static int datoIntMenu(){ try{ return Integer.valueOf(dato()); } catch(NumberFormatException e){ return -1; } } } import java.util.*; public class Matricula { private Curso[] C; private Alumno[] Al; private Docente[] D; private int dimC; private int dimAl; private int dimD; private final static int maxdimC=6; public Matricula() { dimC=0; dimAl=0; dimD=0; } public void operaciones(){ boolean h=true;

while(h){ switch(menu1()){ case 0:h=false; break; case 1:System.out.println("\t\tNombre del Curso"); agregarCurso(new Curso(Leer.dato())); break; case 2: inscribirDocente(); break; case 3: matricularAlumno(); break; case 4:mostrarCursos(); break; case 5: if(dimC==0){ System.out.println("No hay cursos"); } else{ System.out.print("Codigo de curso: "); int s=buscarCurso(Leer.dato()); if(s==dimC){ System.out.println("No existe el curso"); } else{ raya(); encabezado(); raya(); System.out.printf("%10s\t\t%-20s\t\t%10d\t\t%10d\t\t%20s\t%10s\n",C[s].getCod(),C[s].getCurso(),C[s].getDimAl(),C[s].getV acante(),C[s].getDocente(),C[s].getCodigo()); raya(); System.out.println(); C[s].mostrarAlumnos(); } } break; case 6: if(dimAl==0){ System.out.println("No hay ningun alumno matriculado"); } else{ mostrarAlumnos(); System.out.print("Codigo de Alumno:"); String c=Leer.dato(); int i=buscarAlumno(c); if(i==dimAl){

System.out.println("No existe el alumno"); } else Al[i].mostrarCursos(); } break; case 7: if(dimD==0){ System.out.println("No hay Docentes"); } else { mostrarDocentes(); System.out.print("Buscar docente:"); String doc=Leer.dato(); int posD=buscarCodDocent(doc); if(posD==dimD){ System.out.println("No existe el docente"); } else{ D[posD].mostarCursos(); } } break; case 8: mostrarDocentes(); break; case 9: mostrarAlumnos(); break;

} public void agregarCurso(Curso Cur){ redimension(dimC+1,1); C[dimC-1]=new Curso(); C[dimC-1]=Cur; C[dimC-1].setCod(dimC); } public void redimension(int tam,int n){ Curso[] Aux=new Curso[tam]; int i; for(i=0;i<tam-n;i++){ Aux[i]=C[i]; } dimC=tam; C=Aux; } public void mostrarCursos(){ if(dimC==0) System.out.println("No hay Cursos"); else{ raya(); encabezado(); int i; raya(); for(i=0;i<dimC;i++){ System.out.printf("%10s\t\t%20s\t\t%10d\t\t%10d\t\t%20s\t%10s\n",C[i].getCod(),C[i].getCurso(),C[i].getDimAl(),C[i].getVac ante(),C[i].getDocente(),C[i].getCodigo()); } raya(); } } public void encabezado(){ System.out.println("CodCurso\t\tNombreCurso\t\t\t Cantidad de Alumnos\t\tVacantes\t\t Profesor\t\tCodProfe"); } public void raya(){ System.out.println("=============================== ======================================================== ====================="); } public int buscarCurso(String cod){ boolean h=false; int i=0; while(i<dimC&&!h){ if(C[i].getCod().compareTo(cod)==0) h=true; else i++; } return i; } public void agregarDocente(Docente d){ redimensionarDoce(dimD+1,1); D[dimD-1]=new Docente(); D[dimD-1]=d; } public void redimensionarDoce(int tam,int n){ Docente[] Aux=new Docente[tam]; int i; for(i=0;i<tam-n;i++){

default : System.out.println("Opcion Incorrecta"); } } } public int menu1(){ System.out.println("\t\tMatricula"); System.out.println("AgregrarCurso...............[1]"); System.out.println("InscribirDocenteACurso......[2]"); System.out.println("MatricularAlumno............[3]"); System.out.println("MostrarCursos...............[4]"); System.out.println("BuscarCursos................[5]"); System.out.println("BuscarAlumno................[6]"); System.out.println("BuscarDocente...............[7]"); System.out.println("MostrarDocentes.............[8]"); System.out.println("MostrarAlumnos..............[9]"); System.out.println("Salir.......................[0]"); System.out.print("Opcion:"); return Leer.datoIntMenu();

Aux[i]=D[i]; D.setCodigo(codP); } dimD=tam; D=Aux; } public int buscarCodDocent(String cod){ boolean h=false; int i=0; while(i<dimD&&!h){ if(D[i].getCod().compareTo(cod)==0) h=true; else i++; } return i; } public void inscribirDocente(){ if(dimC!=0){ mostrarCursos(); System.out.println("Codigo de Curso"); String cod=Leer.dato(); int i=buscarCurso(cod); if(i!=dimC){ if(C[i].getVerificar()){ System.out.println("El curso "+ C[i].getCurso()+" ya esta siendo dictado por :"); System.out.println("Profesor(a): "+C[i].getDocente()); } else { System.out.println("Codigo del Docente :"); String codP=Leer.dato(); int pos=buscarCodDocent(codP); if(pos!=dimD){ if(D[pos].verificar()){ System.out.println("El docente "+D[pos].getNombre()+" va dictar el curso de " +C[i].getCurso()); D[pos].agregarCurso(C[i]); C[i].setDocente(D[pos]); } else System.out.println("El Docente "+ D[pos].getNombre()+" ya dicta 3 cursos"); } else{ System.out.println("Nombre del Profesor"); System.out.println("Codigo del Alumno : "); Docente D=new Docente(); codAl=Leer.dato(); D.setNombre(Leer.dato()); String } public int buscarAlumno(String cod){ boolean h=false; int i=0; while(i<dimAl&&!h){ if(Al[i].getCodigo().compareTo(cod)==0) h=true; else i++; } return i; } public void matricularAlumno(){ if(dimC!=0){ } dimAl=tam; Al=Aux; D.agregarCurso(C[i]); System.out.println("El docente "+D.getNombre()+" va dictar el curso de " +C[i].getCurso()); agregarDocente(D); C[i].setDocente(D); } } } else System.out.println("No existe el Curso"); } else System.out.println("No puede Inscribir ningun docente porque no hay ningun curso"); } public int menuMatricula(){ System.out.println("MatricularseEnCurso....[1]"); System.out.println("Salir..................[0]"); System.out.print("Opcion:"); return Leer.datoIntMenu(); } public void agregarAlumno(Alumno Alum){ redimensionarAlumn(dimAl+1,1); Al[dimAl-1]=new Alumno(); Al[dimAl-1]=Alum; } public void redimensionarAlumn(int tam,int n){ Alumno[] Aux=new Alumno[tam]; int i; for(i=0;i<tam-n;i++){ Aux[i]=Al[i];

int pos=buscarAlumno(codAl); boolean agre=false; if(pos==dimAl){ } Alumno A=new Alumno(); A.setCodigo(codAl); System.out.print("Nombre:"); A.setNombre(Leer.dato()); } A.mostrarCursos(); else agregarAlumno(A); System.out.println("No existe el curso"); pos=dimAl-1; agre=false; } else{ System.out.println("Alumno:"+Al[pos].getNombre()); break; Al[pos].mostrarCursos(); agre=true; } boolean p=true; while(p){ mostrarCursos(); switch(menuMatricula()){ case 0:p=false; break; case 1: if(Al[pos].verificar()){ System.out.print("Codigo de curso : "); String codigoCur=Leer.dato(); int posC=buscarCurso(codigoCur); } else System.out.println("No existe curso por lo que no puede matricular ningun alumno"); } public void eliminar(int pos){ int i=0; while(i<dimAl-1){ Al[i]=Al[i+1]; i++; } redimensionarAlumn(dimAl-1,0); } public void mostrarDocentes(){ int i; Docente.raya(); Docente.encabezado1(); Docente.raya(); if(dimD==0){ System.out.println("No hay docentes"); } else{ C[posC].agregarAlumno(Al[pos]); eliminar(dimAl-1); } } if(!agre){ } else System.out.println("Solo se puede matricular en "+Al[pos].getMax()+"cursos"); } } else System.out.println("Ya se matriculo en el curso "+C[posC].getCurso()); agre=true; Al[pos].agregarCurso(C[posC]);

if(posC!=dimC){ if(!Al[pos].buscarCurso(codigoCur)){

if(C[posC].getVacante()==0) System.out.println("El curso "+C[posC].getCurso()+" ya no tiene vacantes"); else{

for(i=0;i<dimD;i++){ D[i].mostrarDocente(); } } Docente.raya(); } public void mostrarAlumnos(){ Curso.raya(); Curso.encabezado(); Curso.raya(); if(dimAl==0){ System.out.println("No hay alumnos"); } else{ int i; for(i=0;i<dimAl;i++){ System.out.printf("%10s\t\t%-20s \n",Al[i].getCodigo(),Al[i].getNombre()); } } Curso.raya(); } } import java.io.*; import java.util.*; public class TMatricula { /** * Creates a new instance of <code>TMatricula</code>. */ public TMatricula() { } /** * @param args the command line arguments */ public static void main(String[] args) { //Runtime.getRuntime().exec("clear"); //Runtime.getRuntime().exec("cls"); Matricula M=new Matricula(); Docente D=new Docente(); D.setCodigo("789043"); D.setNombre("Manrique Diaz,Luis"); Docente D1=new Docente(); D1.setCodigo("231234"); D1.setNombre("Diaz Gonzales,Alberto"); Curso C1=new Curso(); C1.setCurso("Matematica"); Curso C2=new Curso(); C2.setCurso("Programacion 2"); Curso C3=new Curso(); C3.setCurso("Estadistica"); Alumno A1=new Alumno(); A1.setCodigo("1020323"); A1.setNombre("Morales Espino,Cynthia"); Alumno A2=new Alumno(); A2.setCodigo("1123421"); } }

A2.setNombre("Bellido Barrientos,Daniel"); Alumno A3=new Alumno(); A3.setCodigo("1234567"); A3.setNombre("Quispe Martinez,Walter"); //**************************************************** C1.setDocente(D); C2.setDocente(D1); C3.setDocente(D); D.agregarCurso(C1); D.agregarCurso(C3); D1.agregarCurso(C2); //*************************************************** C1.agregarAlumno(A1); C1.agregarAlumno(A2); C1.agregarAlumno(A3); A1.agregarCurso(C1); A2.agregarCurso(C1); A3.agregarCurso(C1); //**************************************** C2.agregarAlumno(A1); C2.agregarAlumno(A2); C2.agregarAlumno(A3); A1.agregarCurso(C2); A2.agregarCurso(C2); A3.agregarCurso(C2); //************************************** C3.agregarAlumno(A1); C3.agregarAlumno(A2); A1.agregarCurso(C3); A2.agregarCurso(C3); //********************************* M.agregarAlumno(A1); M.agregarAlumno(A2); M.agregarAlumno(A3); M.agregarCurso(C1); M.agregarCurso(C2); M.agregarCurso(C3); M.agregarDocente(D1); M.agregarDocente(D); M.operaciones();

También podría gustarte