0

我正在做一些功课,最后一个问题是我的屁股,每次我运行它时,它都不会显示最后输入的信息循环。所以输入 3 个循环,只会显示 2 个。

感谢您的任何帮助。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Casino_Eric</title>
    <script type="text/javascript">

        document.write( "<h1>Casino_Eric</h1>" );
        var CashierID, CustomerCount=0, TotalChips, OverAllValue, EndOrContinue;
        var BlueValue = 5, BlackValue = 20, RedValue = 50, GreenValue = 100;
        var BlueQty, BlackQty, RedQty, GreenQty;
        var BlueResult, BlackResult, RedResult, GreenResult;

        CashierID = window.prompt("Enter 6 digit cashier ID.", "000000");
            do{
                BlueQty = window.prompt("Enter Number of Blue Chips", "0");
                BlackQty = window.prompt("Enter Number of Black Chips", "0");
                RedQty = window.prompt("Enter Number of Red Chips", "0");
                GreenQty = window.prompt("Enter Number of Green Chips", "0");

                BlueResult = BlueQty * BlueValue;
                BlackResult = BlackQty * BlackValue;
                RedResult = RedQty * RedValue;
                GreenResult = GreenQty * GreenValue;
                OverAllValue = BlueResult + BlackResult + RedResult + GreenResult;


                EndOrContinue = parseInt(window.prompt("Would you like to end your shift now "+CashierID+" or count the chips for another customer?  Enter 1 to contiue, or N to quit.", "n"));
                    if(isNaN(EndOrContinue));
                    else{
                    CustomerCount++;
                    document.write("<p>Cashier ID: "+CashierID+", Customer : "+CustomerCount+"</br> Number of Blue Chips: "+BlueQty+", total value of Blue Chips is: "+BlueValue+"</br>Number of Black Chips: "+BlackQty+", total value of Black Chips is: "+BlackValue+"</br>Number of Red Chips: "+RedQty+", total value of Red Chips is: "+RedValue+"</br>Number of Green Chips: "+GreenQty+", total value of Green Chips is: "+GreenValue+"</br>This customer's total value is "+OverAllValue+".</p>");

                    }
                }
            while(!isNaN(EndOrContinue));


        </script>
    </head>
    <body>  
        <p>Reload for another conversion</p>
    </body>
</html>
4

2 回答 2

1

这是由于 if 语句的错误放置。现在它会为你工作

 <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Casino_Eric</title>
        <script type="text/javascript">

            document.write( "<h1>Casino_Eric</h1>" );
            var CashierID, CustomerCount=0, TotalChips, OverAllValue, EndOrContinue;
            var BlueValue = 5, BlackValue = 20, RedValue = 50, GreenValue = 100;
            var BlueQty, BlackQty, RedQty, GreenQty;
            var BlueResult, BlackResult, RedResult, GreenResult;

            CashierID = window.prompt("Enter 6 digit cashier ID.", "000000");
                do{
                    BlueQty = window.prompt("Enter Number of Blue Chips", "0");
                    BlackQty = window.prompt("Enter Number of Black Chips", "0");
                    RedQty = window.prompt("Enter Number of Red Chips", "0");
                    GreenQty = window.prompt("Enter Number of Green Chips", "0");

                    BlueResult = BlueQty * BlueValue;
                    BlackResult = BlackQty * BlackValue;
                    RedResult = RedQty * RedValue;
                    GreenResult = GreenQty * GreenValue;
                    OverAllValue = BlueResult + BlackResult + RedResult + GreenResult;

                        document.write("<p>Cashier ID: "+CashierID+", Customer : "+CustomerCount+"</br> Number of Blue Chips: "+BlueQty+", total value of Blue Chips is: "+BlueValue+"</br>Number of Black Chips: "+BlackQty+", total value of Black Chips is: "+BlackValue+"</br>Number of Red Chips: "+RedQty+", total value of Red Chips is: "+RedValue+"</br>Number of Green Chips: "+GreenQty+", total value of Green Chips is: "+GreenValue+"</br>This customer's total value is "+OverAllValue+".</p>");


                    EndOrContinue = parseInt(window.prompt("Would you like to end your shift now "+CashierID+" or count the chips for another customer?  Enter 1 to contiue, or N to quit.", "n"));
                        if(!isNaN(EndOrContinue)){
                        CustomerCount++;
                        }
                    }while(!isNaN(EndOrContinue));


            </script>
        </head>
        <body>  
            <p>Reload for another conversion</p>
        </body>
    </html>
于 2013-02-15T14:29:22.167 回答
0

作为一个“家庭作业”示例/问题(感谢您的诚实),我的回答就是这样的思想 - 您必须自己做作业,但这应该会有所帮助:

 EndOrContinue = parseInt(window.prompt("Would you like to end your shift now "+CashierID+" or count the chips for another customer?  Enter 1 to contiue, or N to quit.", "n"));
                    if(isNaN(EndOrContinue));
                    else{
                    CustomerCount++;
                    document.write("<p>Cashier ID: "+CashierID+", Customer : "+CustomerCount+"</br> Number of Blue Chips: "+BlueQty+", total value of Blue Chips is: "+BlueValue+"</br>Number of Black Chips: "+BlackQty+", total value of Black Chips is: "+BlackValue+"</br>Number of Red Chips: "+RedQty+", total value of Red Chips is: "+RedValue+"</br>Number of Green Chips: "+GreenQty+", total value of Green Chips is: "+GreenValue+"</br>This customer's total value is "+OverAllValue+".</p>");

                    }
                }
            while(!isNaN(EndOrContinue));

在这里,您根据问题设置值 - 好的。

  • 然后在对之前的条目进行任何操作之前检查问题中设置的值
  • 然后你忘记(跳过)对那些以前的条目做你需要做的事情
  • 然后你检查问题的回答(再次)

为什么你甚至第一次检查(在你的循环内)?你能把它去掉吗?

于 2013-02-15T14:28:42.390 回答