Solved

IF / ELSE IF

Posted on 2011-09-09
3
258 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

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Suggested Solutions

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…
Summary: Persistence is the capability of an application to store the state of objects and recover it when necessary. This article compares the two common types of serialization in aspects of data access, readability, and runtime cost. A ready-to…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

785 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