0

Hi My name is PJ.
I am a adult student.
I have read the rules regarding homework for those who are not willing to help themselves and i agree, but i have tried for the last few days to work this out and cant understand what i am doing wrong, if someone is kind enough to help and point me in the right direction, i would be very greatful. Below is the C# code i have. The program is meant to display the different tax brackets for the income within the amounts shown in the code below.
It's meant to display >$38000.00 shows 19.5%
>$60000.00 shows 33.0%
<$60001.00 shows 39.0%
No declaration shows 45.0% (sorry this hasnt been added yet). It displays the answer in a dollar form and does not show the right answer. Please explain what i have done and what i need to do to correct this. If you answer this, thankyou so much for taking the time to help. I am a first year student who is getting stuck with this.
Code posted with comments (// out) below:

string strtaxableIncome;
            decimal dectaxableIncome;
            decimal dectax;

            // Display "Plaese enter Income Tax"
            Console.WriteLine("Please enter Income Tax");

            //Displap dollar sign
            Console.Write("$");

            // Read taxableIncome
            strtaxableIncome = Console.ReadLine();

            // Additional steps to convert string to decimal 
            dectaxableIncome = decimal.Parse(strtaxableIncome);

            // Set tax = 0
            dectax = 0m;

            // If (taxableIncome <= 38000) Then
            if (dectaxableIncome <= 38000)
            {
                //  Calculate tax (tax = 19.5% of 38000)
                dectax = dectaxableIncome * 19.5m / 100;
            }
            // End If

            // If taxableIncome is more than 38000 and less than or equal to 60000 Then
            if (dectaxableIncome > 38000 && dectaxableIncome <= 60000)
            {
                //  Calculate tax (tax = 19.5% of 38000 + 33% of 60000-38000)
                {
                    dectax = dectaxableIncome * 19.5m / 100;
                    dectax = dectax + dectaxableIncome * 33m / 100;
                }
                // End If

                // If taxableIncome is more than 60000 Then
                if (dectaxableIncome > 60000)
                //  Calculate tax (tax = 19.5% of 38000 + 33% of 60000-38000 + 39% of   taxableIncome – 60000)
                {
                    dectax = dectaxableIncome * 19.5m / 100;
                    dectax = dectax + dectaxableIncome * 33m / 100;
                    dectax = dectax + dectaxableIncome * 39m / 100;
                }
                // End If

                // Display tax
                Console.Write("$");
                Console.Write(dectax);

                // Keep window open
                Console.ReadKey();
2
Contributors
1
Reply
2
Views
8 Years
Discussion Span
Last Post by nvmobius
0

Well first thing I see the lines

// Display tax
            Console.Write("$");
            Console.Write(dectax);

            // Keep window open
            Console.ReadLine();

Should be placed outside the last if block because you'll want them displayed every time. The next thing I see is that it looks like you're doing the math wrong. From my limited knowledge of income tax and how it's graduated it works on blocks of income.

Example:
A guy makes $60,000.
On the portion of his income above $38,000 he pays 33% income tax, or about $7,260
On the first $38,000 he pays 19.5%, or about $7,410
Meaning in total he pays $7,260 + $7,410, or $14,670

So the math looks likes
((60,000 - 38,000) * 0.33) + ((38,000) * 0.195))

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.