-1

Hello I am trying to get this program to add ALL of the total costs that accumulate throughout this loop. But the program keeps printing the most recent cost rather than all of the products that have been "purchased". Here is my code: `

        var Customer_Name, Discount, Product="", Price, Quantity="", Cost ;
        var blanket_price = 25;
        var lotion_price = 60;
        var surfboard_price = 60;
        var sunscreen_price = 60;
        var Customer_Name = prompt("Welcome to Jersey Shore Inc.! What is your name?","Type Name Here");
        alert("Hello "+Customer_Name+", Please look through all available products and services before placing your order.");


    do
    {


    Product= prompt("What product would you like?","Type Product Name Here");
    Quantity= prompt("How much of the "+Product+" would you like?","Type Quantity Here");
    var Total_Cost;
    var SumOrderTotal=0;

         if (Product == "blanket")
            {
                alert("You received a 50% discount! Click okay to see your receipt below.");
                Total_Cost= 0.5*(Quantity*blanket_price);
                Cost=(Quantity*blanket_price);
                Discount = .50*blanket_price;
            }
            else if (Product == "lotion")
            {
                alert("You received a 50% discount! Click okay to see your receipt below.");
                Total_Cost= 0.5*(Quantity*lotion_price);
                Cost=(Quantity*lotion_price);
                Discount = .50*lotion_price;
            }
            else if (Product == "surfboard")
            {
                alert("You received a 50% discount!Click okay to see your receipt below.");
                Total_Cost= 0.5*(Quantity*surfboard_price);
                Cost=(Quantity*surfboard_price);
                Discount = .50*surfboard_price;

            }
            else if (Product == "sunscreen")
            {
                alert("You received a 50% discount! Click okay to see your receipt below.");
                Total_Cost= 0.5*(Quantity*sunscreen_price);
                Cost=(Quantity*sunscreen_price);
                Discount = .50*sunscreen_price;

            }

             if((Product=="blanket" || Product=="sunscreen" || Product=="lotion" || Product=="surfboard"))
            {

                document.write("The cost of buying " + Quantity+ " of " + Product + " is $ "+ Cost +". </br>");
                document.write("The discount for this purchase is $ "+Total_Cost+". <br/>");



            }
            else 
            {
                alert("Sorry "+Customer_Name+" you entered an invalid product.(Refer to table for our products) Please Refresh the page to reload and place a new order.");

            }
     var SumOrderTotal = Total_Cost + SumOrderTotal;
     var user_answer=confirm("Would you like to continue purchasing products?");  

    }
    while(user_answer==true);

                document.write("Thank you for placing an order with us, " +Customer_Name+". <br/>");
                document.write("Your total order cost is $"+ SumOrderTotal+ ". <br/>");

`

1
  • Please try the answer below and give feedback Commented Mar 29, 2013 at 7:10

1 Answer 1

2

move SumOrderTotal outside of do...while.

Like so:

  var SumOrderTotal=0;
  do {      
    Product = prompt("...");
    Quantity = prompt("...");
    var Total_Cost;
  } while (...) {
  ...
  }

Because you are initializing to 0 each time you start the cycle(do..while).

Sign up to request clarification or add additional context in comments.

1 Comment

+1 for quick and correct reply @Floradu88 Format the code... hope you wont mind

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.