?
Solved

IF / ELSE IF

Posted on 2011-09-09
3
Medium Priority
?
269 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 18

Accepted Solution

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

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
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
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
Suggested Courses

762 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