2016-10-25 21 views
-1

このコードを動作させるには少し問題があります。私はwhileループと関係があると思う。また、JavaScriptを初めて使用しているので、構文を改善したり、コードをより効率的にする方法についてご意見があれば、大変感謝しています。whileループがJavaScriptで動作しない

コードがどのように機能するか。 ユーザーはアイテムのコストを入力し、次に の金額を入力します。プログラムは、変化に必要な四分の一、二重、ニックル、ペニーの数と変化を把握します。 2つのプロンプトボックスがポップアップし、私は警戒警報を得るよりもを実行するときに何が起こるか

...

「このページのスクリプトがビジー状態であってもよいし、それが応答を停止している可能性があります。あなたは停止することができます今すぐスクリプトを開き、デバッガでスクリプトを開くか、スクリプトを続行させてください。

https://jsfiddle.net/krighty78/g44ejnbw/1/

/* The user enters a cost of an item and then the amount of 
 
     money given. The program will figure out the change and the number of quarters, dimes, nickels, pennies needed for the change.*/ 
 

 

 
    var cost = prompt('please enter total cost of the item without tax'); 
 
    cost = parseFloat(cost); 
 

 
    var moneyGiven = prompt('please enter the amount of money given'); 
 
    moneyGiven = parseFloat(moneyGiven); 
 

 
    var tax = 0.15; 
 
    tax = (cost * tax); 
 

 
    var quarter = 0; 
 
    var dime = 0; 
 
    var nickel = 0; 
 
    var penny = 0; 
 

 
    var q = 0.25; 
 
    var d = 0.10; 
 
    var n = 0.05; 
 
    var p = 0.01; 
 
    var change = (moneyGiven - (cost + tax)); 
 
    console.log(change); 
 

 
    while (change > 0) { 
 

 
     if (change >= q) { 
 
     change - q; 
 
     quarter++; 
 
     } else if (change >= d) { 
 
     change - d; 
 
     dime++; 
 
     } else if (change >= n) { 
 
     change - n; 
 
     nickel++; 
 
     } else if (change >= p) { 
 
     change - p; 
 
     penny++; 
 
     } 
 

 
    }; //while loop 
 

 
    console.log(quarter); 
 
    console.log(dime); 
 
    console.log(nickel); 
 
    console.log(penny);

+2

デバッグに関する質問については、希望の動作と実際の動作を投稿してください。 –

+1

新しい値を 'change'に代入するのではなく、' change - = q; 'または' change = change-q; ' –

+0

'change'変数を変更するには欠けていると思います。コード 'change-d'のように、' change = change-d'ではないでしょうか? –

答えて

0

whileループがOKで、問題はあなたがchangeの値を更新していない文

change - q; 
change - d; 
change - n; 
change - p; 

です。これらを次のように変更してください。

change = change - q; 
change = change - d; 
change = change - n; 
change = change - p; 
+0

これはうまくいった!、助けてくれてありがとう。 –

関連する問題