IF / ELSE IF

Experts,
Any help on this problem would be greatly appreciated!

PROGRAM DETAILS: The user is suppose to select a number between 0 and 5000, the code will jump to the IF /ELSE IF code block and execute.

PROBLEM: The first two code blocks execute correctly (< 250.00 and 250.01 > || <= 500.00) however if I place a number above 500 it will continue to execute the second code block resulting in $8.00 to be charged in the shipping rate rather than $10.00 (in this example I illustrated it would be $10.00, etc..).

CODE:
using System;

namespace Shipping Program
{
    class Program
    {
        static void Main()
        {
            double totAmount;
            double shippingChrg;
            double totalCost;

            Console.WriteLine("Please enter the amount of your purchase");
            totAmount = Convert.ToDouble(Console.ReadLine());

            if (totAmount < 250.00)
            {
                totalCost = totAmount + 5.00;
                shippingChrg = 5.00;
                Console.WriteLine("The shipping charge on a purchase of " + totAmount.ToString("C2") + " is: " + shippingChrg.ToString("C2") + " the total cost is: " + totalCost.ToString("C2"));
            }
            else if (totAmount > 250.01 || totAmount <= 500.00)
            {
                totalCost = totAmount + 8.00;
                shippingChrg = 8.00;
                Console.WriteLine("The shipping charge on a purchase of " + totAmount.ToString("C2") + " is: " + shippingChrg.ToString("C2") + " the total cost is: " + totalCost.ToString("C2"));
            }
            else if (totAmount > 501.01 || totAmount < 1000.00)
            {
                totalCost = totAmount + 10.00;
                shippingChrg = 10.00;
                Console.WriteLine("The shipping charge on a purchase of " + totAmount.ToString("C2") + " is: " + shippingChrg.ToString("C2") + " the total cost is: " + totalCost.ToString("C2"));
            }
            else if (totAmount > 1000.01 || totAmount < 1000.00)
            {
                totalCost = totAmount + 15.00;
                shippingChrg = 15.00;
                Console.WriteLine("The shipping charge on a purchase of " + totAmount.ToString("C2") + " is: " + shippingChrg.ToString("C2") + " the total cost is: " + totalCost.ToString("C2"));
            }
            else (totCost = totAmount > 5000.01 )
            {
                totCost = totAmount + 20.00;

            }
                Console.ReadLine();
       }
    }
}

Open in new window

Michael ReeveAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Jerry MillerConnect With a Mentor Commented:
totAmount > 250.01 || totAmount <= 500.00 should a conditional AND statement. It is executing because $500 is greater 250.01.

totAmount > 250.01 && totAmount <= 500.00
0
 
Michael ReeveAuthor Commented:
Thank you so for catching my mistake! Really appreciate the quick response.
0
 
Jerry MillerCommented:
You're welcome. I hadn't noticed these two earlier. I think that the first one is the same thing, should &&. I think that the other one should be under 5000.00

line 28 - totAmount > 501.01 || totAmount < 1000.00
line 34 - totAmount > 1000.01 || totAmount < 1000.00
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.