我正在写ATM的代码,这是我教授的作业,而我的问题是,当我执行innerHTML告诉用户我给他的钱是多少(这是moneystring1)时,如果他运行再次编写代码,将钱串显示在moneystring1
下示例:
//他第一次运行代码;他拿了10美元 你拿出10美元
//他第二次运行代码;他拿了20美元 你拿出10美元 你拿出20美元
我在这里
class Billetes
{
constructor(valor, cantidad)
{
this.valor = parseInt(valor);
this.cantidad = parseInt(cantidad);
}
}
var caja = [];
caja.push(new Billetes(50,3));
caja.push(new Billetes(20,2));
caja.push(new Billetes(10,2));
for(d of caja)
{
resultado.innerHTML += d.cantidad + "billetes de " + d.valor + "<br/>";
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Cajero Automatico</title>
</head>
<body>
<p id="resultado"><p/>
<script src = "cajero.js">
</script>
</body>
</html>
我已经尝试过result.replaceWith(结果是该段落的ID),但是当他要多个账单时(10比尔和20比尔),它只会显示第一个。我还尝试过innerHTML之前的result.remove,但是由于某种原因,它取消了innerHTML
// give是一个数组,用于保存一个必须具有以下属性的类:值(账单的值,例如10 $ bill)和数量(账单的数量)
我希望管理的是当他运行第二,第三等代码时,只显示该运行的innerHTML,而不会出现之前的运行
这是完整的代码(我是西班牙裔,所以是用西班牙语写的)
JS代码
for understanding it better I recommend trying it in the browser
class Billetes
{
constructor(valor, cantidad)
{
this.valor = parseInt(valor);
this.cantidad = parseInt(cantidad);
// this.nombre = n;
// this.imagen = new Image();
// this.imagen.src = imagenes[this.nombre];
}
}
var caja = [];
caja.push(new Billetes(50,3));
caja.push(new Billetes(20,2));
caja.push(new Billetes(10,2));
var result = [];
var dineroCaja = 0;
var valido = -1;
var entregar = [];
function transaccion()
{
if (entregar.length > 0);
{
var x = entregar.length;
entregar.splice(0,x);
}
if (valido < 0)
{
valido = valido + 2;
for(d of caja)
{
dineroCaja = dineroCaja + d.valor * d.cantidad;
}
}
var dineroUser = parseInt(texto.value);
var papeles;
var divison;
for (d of caja)
{
if (dineroUser > 0)
{
division = parseInt(dineroUser/d.valor);
if (division > d.cantidad)
{
papeles = d.cantidad;
}
else
{
papeles = division;
}
entregar.push(new Billetes(d.valor,papeles));
dineroCaja = dineroCaja - (d.valor*papeles);
dineroUser = dineroUser - (d.valor*papeles);
}
}
if (dineroCaja < 0)
{
resultado.replaceWith("Error no quedan Billetes");
}
else
{
if (dineroUser > 0)
{
resultado.replaceWith("Error, no tengo ese cambio");
}
else
{
for(d of entregar)
{
if(d.cantidad > 0)
{
var billtes;
if(d.cantidad > 1)
{
billetes = " billetes ";
}
else
{
billetes = " billete ";
}
resultado.innerHTML += d.cantidad + billetes + "de $ " + d.valor;
}
}
}
}
console.log(entregar, dineroUser, dineroCaja);
}
var texto = document.getElementById('dinero.usuario');
var boton = document.getElementById('boton');
var resultado = document.getElementById('resultado');
boton.addEventListener('click', transaccion,);
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Cajero Automatico</title>
</head>
<body>
<h1>Cajero Automático</h1>
<p>
<img src ="cajero.gif" />
<p/>
<p>
<input type='number' id='dinero.usuario'/>
<input type='button' value='Extraer'id='boton'/>
</p>
<p id="resultado"><p/>
<script src = "infocajero.js">
</script>
<script src = "cajero.js">
</script>
</body>
</html>