Solved

IF / ELSE IF

Posted on 2011-09-09
3
255 Views
Last Modified: 2012-05-12
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

0
Comment
Question by:Michael Reeve
  • 2
3 Comments
 
LVL 18

Accepted Solution

by:
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

by:Michael Reeve
ID: 36514905
Thank you so for catching my mistake! Really appreciate the quick response.
0
 
LVL 18

Expert Comment

by:Jerry Miller
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Problem with SqlConnection 4 160
detecting  the added row index in a datagridview 3 61
Is setting this variable making a duplicate in memory 4 30
C# Single Form 8 28
Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
As a trusted technology advisor to your customers you are likely getting the daily question of, ‘should I put this in the cloud?’ As customer demands for cloud services increases, companies will see a shift from traditional buying patterns to new…

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now