Está en la página 1de 3

import java.io.

*;
class Cita{
private int hora,min,dia;
private String mes;
public Cita(int h, int m, int d, String a)
{this.hora=h;
this.min=m;
this.dia=d;
this.mes=a;}
public boolean choqueDeHorario(Cita p)
{return(hora==p.hora&&min==p.min&&dia==p.dia&&mes==p.mes);}
}
class Paciente{
private String nP,nD;
private int nC;
public Paciente(String p, String d, int n ){this.nP=p; this.nD=d; this.nC=n;}
public String mostrar(){return " El/La paciente"+nP+"tiene "+nC+"consultas con e
l Docotro"+nD;}
public boolean mostrarOrdenado(Paciente p)
{return (nC<p.nC);}
}
class Consultorio{
private Paciente apaciente[];
private Cita acita[];
private int i,max,p1,p2;
public Consultorio(int m){ max=m;
p1=0;
p2=0;
acita= new Cita[max];
apaciente= new Paciente[max];}
public String ingresarCita(Cita c)
{ if(p1<max){acita[p1++]=c;
return"LISTO!!Recuerde verificar su cita";}
return"Las citas del Doctor estn llenas";
}
public String verificarCita(Cita c)
{int i=0;
for(;i<p1&&p1!=1;i++){if(c.choqueDeHorario(acita[i]))return "La hora elegida es
t ocupada";
return "Su cita se agrego con exito!!";}
return "Su cita se agrego con exito!!";
}
public String ingresarPaciente(Paciente p)
{ if(p2<max){apaciente[p2++]=p;
return "Sus datos fueron agregados con exito!!";}
return "Error sobrepasa el max de pacientes";}

public void ordenarPorConsultas()


{for(int j=0;j<p2-1;j++){if(apaciente[j].mostrarOrdenado(apaciente[j+1])==true)
apaciente[j]=apaciente[j+1];}
}
public String mostrar2()
{String s="";
int i;
for(i=0;i<p2;i++)s=s+apaciente[i].mostrar()+"\n";
return "{"+s+"}";}
}//Fin de la clase del Arreglo
public class MainConsultorio {
public static void main(String args[])throws IOException
{Cita cita;
Paciente paciente;
int hora,min,dia,nC,opc;
String mes,nP,nD;
Consultorio serie=new Consultorio(3);
BufferedReader leer= new BufferedReader (new InputStreamReader(System.in));
do{
System.out.println("____________Men______________");
System.out.println("1.-Agregar la cita"+"2.-Verificar la cita");
System.out.println("3.-Ingresar Paciente"+"4.-Mostrar pacientes ordenados por c
onsulta");
opc= Integer.parseInt(leer.readLine());
if(opc==1)
{ System.out.println("Ingrese el dia de la cita ejempleo dd/");
dia=Integer.parseInt(leer.readLine());
System.out.println("Ingrese el mes de la cita");
mes=leer.readLine();
System.out.println("Ingrese la hora de la cita ejemplo hh");
hora=Integer.parseInt(leer.readLine());
System.out.println("Ingrese los min");
min=Integer.parseInt(leer.readLine());
cita=new Cita(hora,min,dia,mes);
System.out.println(serie.ingresarCita(cita));}
if(opc==2)
{ System.out.println("dia");
dia=Integer.parseInt(leer.readLine());
System.out.println("mes");
mes=leer.readLine();
System.out.println("hora");
hora=Integer.parseInt(leer.readLine());
System.out.println("minutos");
min=Integer.parseInt(leer.readLine());
cita=new Cita(hora,min,dia,mes);
System.out.println(serie.verificarCita(cita));
}
if(opc==3)
{ System.out.println("Ingrese el nombre del Doctor");
nD=leer.readLine();

System.out.println("Ingrese el nombre del Paciente");


nP=leer.readLine();
System.out.println("Ingrese el numero de conultas con su doctor");
nC=Integer.parseInt(leer.readLine());
paciente= new Paciente (nP,nD,nC);
System.out.println(serie.ingresarPaciente(paciente));
}
if(opc==4)
{serie.ordenarPorConsultas();
System.out.println(serie.mostrar2());}
}while (opc!=5);// fin del do while
}//fin del public static
}// fin de la clase

También podría gustarte