在新功能中从提示中划分数字

Divide numbers from prompt in new function

我编写了一个程序,可以根据您在提示中输入的数字计算出您必须支付的钞票 (2,5,10,20,...)。

我想进一步进行下一步 - 我想从第一步插入的提示中获取该数字,然后将其除以用户类型的数量,生成一个新提示,以计算平均成本一项。

我该怎么做?

这是我为第一部分编写的代码。

var stevilo = prompt("Vnesi znesek:");

var bankovec = [500, 200, 100, 50, 20, 10, 5, 2, 1];
var stevilo_bankovcev = 0;
var izpisi = "";
for (i = 0; i < bankovec.length; i++) {
  var y = stevilo / bankovec[i];
  if (y >= 1) {
    var razlika = Math.floor(y) * bankovec[i];
    stevilo = stevilo - razlika;
    stevilo_bankovcev = Math.floor(y) + stevilo_bankovcev;
    izpisi = izpisi + Math.floor(y) + "x" + bankovec[i] + ",";
    console.log(izpisi);
  }
}
window.onload = function() {
  document.getElementById("gremo").innerHTML = "Za plačilo je potrebno " + izpisi;
}
<span id="gremo"></span>

我不确定我是否正确理解了这个问题,但是如果您唯一想添加到程序中的是用户输入的另一个变量,然后用该变量进行除法,这就可以了(虽然我不完全确定它的用途是什么):

var stevilo = prompt("Vnesi znesek:");
var division = prompt("Dividing by this number:");

var bankovec = [500, 200, 100, 50, 20, 10, 5, 2, 1];
var stevilo_bankovcev = 0;
var total = stevilo/division;
var izpisi = "";
for (i = 0; i < bankovec.length; i++) {
  var y = stevilo / bankovec[i];
  if (y >= 1) {
    var razlika = Math.floor(y) * bankovec[i];
    stevilo = stevilo - razlika;
    stevilo_bankovcev = Math.floor(y) + stevilo_bankovcev;
    izpisi = izpisi + Math.floor(y) + "x" + bankovec[i] + ",";
    console.log(izpisi);
  }
}
window.onload = function() {
  document.getElementById("gremo").innerHTML = "Za plačilo je potrebno " + izpisi + " whereas the division's result is: " + total;
}
<span id="gremo"></span>

基本上就是调用另一个提示,保存到另一个变量中,然后用它除。

此致, B

是这样的吗?

function znesek() {
  var stevilo = prompt("Vnesi znesek:");
  const stevilo1 = stevilo; // take a copy
  var bankovec = [500, 200, 100, 50, 20, 10, 5, 2, 1];
  var stevilo_bankovcev = 0;
  var izpisi = "";
  for (i = 0; i < bankovec.length; i++) {
    var y = stevilo / bankovec[i];
    if (y >= 1) {
      var razlika = Math.floor(y) * bankovec[i];
      stevilo = stevilo - razlika;
      stevilo_bankovcev = Math.floor(y) + stevilo_bankovcev;
      izpisi = izpisi + Math.floor(y) + "x" + bankovec[i] + ",";
//      console.log(izpisi);
    }
  }
  document.getElementById("gremo").innerHTML = "Za plačilo je potrebno " + izpisi;
  setTimeout(function() { drugZnesek(stevilo1) } ,10); // allow DOM update
}
function drugZnesek(stevilo1) {
  var drugStevilo =  prompt("Vnesi drug znesek")
  if (stevilo1 && isNaN(stevilo1) || isNaN(drugStevilo)) {
    document.getElementById("gremo").innerHTML = "Žal ne številk";
    return;
  }
  else {
    console.log(stevilo1,drugStevilo,stevilo1/drugStevilo)
    document.getElementById("gremo").innerHTML += "<br/>"+(stevilo1/drugStevilo).toFixed(2)
  }
}  
window.addEventListener("load", znesek)
<span id="gremo"></span>

您需要保留一些本地状态,试试这个:

Codepen

  <span id="gremo"></span>
  <span id="avg"></span>
  <button id="add">add item</button>
var pastItemPrices = [];

function calcBills() {
    var stevilo = prompt("Vnesi znesek:");
    pastItemPrices.push(parseInt(stevilo));
    var bankovec = [500, 200, 100, 50, 20, 10, 5, 2, 1];
    var stevilo_bankovcev = 0;
    var izpisi = "";
    for (i = 0; i < bankovec.length; i++) {
        var y = stevilo / bankovec[i]; 
        if (y >= 1) {
        var razlika = Math.floor(y) * bankovec[i];
            stevilo = stevilo - razlika;
            stevilo_bankovcev = Math.floor(y) + stevilo_bankovcev;
            izpisi = izpisi + Math.floor(y) + "x" + bankovec[i] + ",";
        }
    }
    document.getElementById("gremo").innerHTML = "Za plačilo je potrebno " + izpisi;
    document.getElementById("avg").innerHTML = "Average price: " + pastItemPrices.reduce((total, price) => total + price) / pastItemPrices.length
}

window.onload = function() {
    document.getElementById("add").addEventListener("click", calcBills);
    calcBills();
}