...

/

Solution: Personal Income Tax Calculator

Solution: Personal Income Tax Calculator

Go over the two implementations of the personal income tax calculator using if-else and case-when statements.

Solution using if-else

Press + to interact
annual_income = annual_income.to_i
income_tax = if annual_income > 0 && annual_income <= 18200
puts "No tax"
0
elsif annual_income >= 18201 && annual_income <= 37000
(annual_income - 18200) * 0.19
elsif annual_income >= 37001 && annual_income <= 80000
(annual_income - 37000) * 0.325 + 3572
elsif annual_income >= 80001 && annual_income <= 180000
(annual_income - 80000) * 0.37 + 19822
else
(annual_income - 180000) * 0.45 + 54232
end
income_tax = income_tax.round(2)

Explanation

  • Line 2: The returned value of the if statement (returned on one of the lines 4, 6, 8, 10, or 12) ...