Invierte en tu educación con el precio especial

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12d

13h

52m

34s

1

Cajero automático

Reto del cajero automático. No entrega números que no sean divisibles entre la denominación del billete más chico y no entrega cantidades mayores a su reserva de efectivo. Muestra gráficamente los billetes entregados y la reserva actual de efectivo.
[](file:///C:/Users/danie/Pictures/Screenshots/Screenshot%20(10).png)

<classBillete{
  constructor(denominacion, cantidad, imagen)
  {
    this.denominacion = denominacion;
    this.cantidad = cantidad;
    this.imagen = new Image();
    this.imagen.src = imagen;
  }
}

var billetes = [];
billetes.push(new Billete(50, 30, "50.png"));
billetes.push(new Billete(20, 40, "20.png"));
billetes.push(new Billete(10, 50, "10.png"));
billetes.push(new Billete(500, 15, "500.png"));
billetes.push(new Billete(1000, 10, "1000.png"));
billetes.push(new Billete(200, 20, "200.png"));
billetes.push(new Billete(100, 25, "100.png"));

var reserva = 0;
var requerido = 0;
var minimo = 0;
var lugar_reserva = document.getElementById('reserva');
var boton = document.getElementById('boton');
var resultado = document.getElementById('resultado');
boton.addEventListener("click", extraer);
reservas();
denominacionMinima();

billetes.sort(function(a, b){
    return b.denominacion - a.denominacion;
})

functiondenominacionMinima()
{
  min = [];
  for(var i of billetes)
  {
    min.push(i.denominacion);
  }
  minimo = Math.min.apply(Math, min);
}

functionreservas()
{
  for (var i of billetes)
  {
    reserva += i.denominacion * i.cantidad;
  }
  lugar_reserva.innerHTML = "Reserva efectivo: $" + "<strong>" + reserva + "</strong>";
}

functionextraer ()
{
  resultado.innerHTML = "";
  var requerido = parseInt(document.getElementById('dinero').value);
  if(!(requerido % minimo || requerido > reserva))
  {
    for (var i of billetes)
    {
      if(requerido > 0)
      {
        var divisor = Math.floor(requerido / i.denominacion);
        if(divisor > i.cantidad) divisor = i.cantidad;
        requerido -= divisor * i.denominacion;
        i.cantidad -= divisor;
        for (var e = 0; e < divisor; e++)
        {
          resultado.innerHTML += "<img src = " + i.imagen.src + "/>";
        }
      }
    }
    reserva = 0;
    reservas();
  }
  else
  {
    alert("Solo puedo entregar múltiplos de $" + minimo + " y cantidades iguales o menores a mi reserva");
  }
  document.getElementById('dinero').value = "";
}>
Escribe tu comentario
+ 2