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 = "";
}>
The problem may seem simple, but through your pen, it impresses me.
download facebook apkxyz