# 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;

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;

}
}
}
}
``````
###### Who is Participating?

x

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

Author Commented:
Thank you so for catching my mistake! Really appreciate the quick response.
0

Commented:
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.