2012-10-22 89 views
3

我應該創建一個收銀機程序,提示的項目數量,然後根據項目的金額,提示爲每個單獨的價格,然後計數總額。我很難掌握如何使用'while'循環來做到這一點。有人能指引我朝着正確的方向嗎?非常簡單的現金與循環

這是我現在有:據我所知,它創建了一個無限循環

var itemTotal = prompt("Please enter the amount of items that you're purchasing."); 

items = parseInt(itemTotal) 

var i = 0; 

while(i = items) { 

    prompt ("Enter your item price here."); 

    i++; 
} 
+0

這是需要使用while循環的作業?我可能會使用for循環。 – SpacedMonkey

+0

也許教程是這種情況下的最佳答案。 http://www.w3schools.com/js/js_loop_while.asp – manuerumx

+0

它也可能是'for'循環。也許這個網站不適合我,因爲我真的不知道我在做什麼,我還沒有讓我的編碼頓悟。 – user1765804

回答

0

你想在你想讓它循環在while循環表達式爲true。在這種情況下,你想i小於items

while (i < items) { 
    /* get cost */ 
    /* add cost to total */ 
    i++; 
} 

我忘了指出,i = items會的items值分配給i。要檢查是否i等於items您需要使用i == items

0

如果您知道項目的數量(來自您的用戶提示)爲什麼不使用使用for循環?要麼可以工作,但我認爲for循環會更具可讀性。

for (i=1; i <= NUM_FROM_PROMPT; i++) { 
    //do something here 
} 

while循環是

i=1 //starting point 
while (i <= NUM_FROM_PROMPT) { 
    //do something here 
    i++ 
} 
0

所以我設法得到你想要的東西:

var total = parseInt(prompt("How much items total?", "0")); 

var price = 0; 
for (var i = 0;i<total.length;i++) { 
    var individualPrice = prompt("How much does item " + (i+1) + " cost?", 0); 
    price+=parseInt(individualPrice); 
} 
alert("Total Price is " + price); 

希望有所幫助。即使它可能是你的功課。

+0

這是作業,但我完全失去了。非常感謝。我仍然會按照我學到的方式編碼 – user1765804

0

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Statements/while

在該文檔的鏈接,他們有看起來像這樣的例子。

n = 0; 
x = 0; 
while (n < 3) { 
    n ++; 
    x += n; 
} 

所以你可以用它作爲你的收銀機程序的指南。

//get user input for number of items 
var num_of_items = prompt("How many items?"); 
var n = 0; 
var total = 0; 

while (n < num_of_items) { 
    n ++; 

    //get cost of item 
    var cost_of_item = 0; 

    cost_of_item = parseInt(prompt("Cost of item")); 

    total = total + cost_of_item; 

} 
alert("total price: " + total); 
​ 

我不知道你是如何處理用戶輸入,所以我離開了你要弄清楚:)

http://jsfiddle.net/Robodude/LEdbm/3/

+0

oooh好的,你的評論已經向我顯示了方式。 :)我真的很感謝它的幫助,謝謝 – user1765804

0
var itemTotal = Number(prompt("Please enter the amount of items that you're purchasing.")); 
var priceTotal = 0 

while(itemTotal) { 
    priceTotal += Number(prompt("Enter your item price here.")); 
    itemTotal--; 
} 

alert("Please pay " + priceTotal); 

+1

您可能想澄清'while(itemTotal)'正在做什麼,因爲OP是初學者。 – Shmiddty

+0

此外,它可以寫得更優雅,因爲while(itemTotal - )' – Shmiddty