Solved

# IF / ELSE IF

Posted on 2011-09-09
252 Views
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;

}
}
}
}
``````
0
Question by:Michael Reeve
• 2

LVL 18

Accepted Solution

Jerry Miller earned 500 total points
ID: 36514882
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 Closing Comment

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

LVL 18

Expert Comment

ID: 36514937
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

## Featured Post

### Suggested Solutions

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This video discusses moving either the default database or any database to a new volume.
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…