/**   
  * Clase que manipula varios objetos de tipo CuentaBancaria
  */
public class AdministradorCuenta {
    public final static int RETIRAR=1;
    public final static int ABONAR=2;
    private CuentaBancaria [] cuentas;
    public AdministradorCuenta(int capacidad ) {
        cuentas = new CuentaBancaria[capacidad];
    }
    public CuentaBancaria getCuenta(int indice) {
       return cuentas[indice];
    }
    public void setCuenta(CuentaBancaria laCuenta,int indice){
      cuentas[indice]= laCuenta;
    }
    /**
     * Realiza operaciones de retiro o abono sobre una cuenta bancaria
     * @param indice El numero de cuenta con el que se opera
     * @param tipoOperacion, RETIRAR o ABONAR
     * @param monto, el monto a aplicar, (debe ser mayor que cero)
     * @return false si no se realizo la operacion, true si se pudo realizar
     */
    public boolean operar(int indice, int tipoOperacion, double monto ) {
       boolean realizado =false;
       CuentaBancaria laCuenta = getCuenta(indice);
       if (tipoOperacion == RETIRAR)  {
        if ( (laCuenta.saldo()-monto) >=0) {
           laCuenta.retirar(monto);
           realizado = true;
        } 
       } else if (tipoOperacion == ABONAR)  {
         laCuenta.abonar(monto);
         realizado=true;
       }
       return realizado;
    }
}
