پاسخ تمرین های فصل : تمرین و تثبیت مطالب آموخته شده
زیر فصل: مالیات حقوق

  1. متدی بنویسید که مالیات بر حقوق را حساب کند. قانون زیر برای مالیات بر حقوق باید در نظر گرفته شود:

    1. اگر حقوق کمتر یا مساوی با 10 میلیون تومان باشد، مالیات آن صفر است. 

    2. اگر حقوق بیشتر از 10 میلیون تومان و کوچک‌تر یا مساوی با 14 میلیون تومان باشد، 10 درصد از مازاد بر 10 میلیون تومان به‌ عنوان مالیات در نظر گرفته می‌شود.

    3. اگر حقوق بیشتر از 14 میلیون تومان و کوچک‌تر یا مساوی با 23 میلیون تومان باشد، علاوه‌بر مبلغ قبلی، 15 درصد از مازاد بر 14 میلیون تومان به‌عنوان مالیات در نظر گرفته می‌شود.

    4. اگر حقوق بیشتر از 23 میلیون تومان و کوچک‌تر یا مساوی با 34 میلیون تومان باشد، علاوه بر مبلغ قبلی، 20 درصد از مازاد بر 23 میلیون تومان به‌عنوان مالیات در نظر گرفته می‌شود.

    5. اگر حقوق بیشتر از 34 میلیون تومان باشد، علاوه‌بر مبلغ قبلی، 30 درصد از مازاد بر 34 میلیون تومان به‌عنوان مالیات در نظر گرفته می‌شود.

    برای مثال، اگر حقوق شخصی برابر 25 میلیون تومان باشد، طبق شمارۀ 4 باید محاسبات را انجام دهیم، چون شمارۀ 5 به حقوق‌های بالای 34 میلیون تومان مربوط است. بنابراین باید 20 درصد مازاد بر 23 میلیون را حساب کنیم. مازاد آن یعنی اختلاف 25 و 23 که برابر 2 میلیون است و 20 درصد آن برابر 400,000 تومان است که این مبلغ را با نتیجۀ محاسبۀ شمارۀ 3 باید جمع کنیم. یعنی 15 درصد مبلغ 9 میلیون تومان که برابر 1,350,000 تومان است و باز باید با نتیجۀ محاسبۀ شمارۀ 2 جمع کنیم. یعنی 10 درصد 4 میلیون تومان که برابر 400,000 تومان است و نتیجۀ شمارۀ 1 که همیشه صفر است. مجموع این اعداد 400,000 + 1,350,000 + 400,000 برابر 2،150،000 است که همان مبلغ مالیات برای حقوق 25 میلیون تومانی است.

     

    public static decimal CalculateSalaryTax(decimal salary)
    {
        decimal taxAmount = 0;
        // 1. حقوق کمتر یا مساوی 10 میلیون تومان
        if (salary <= 10_000_000)
        {
            return taxAmount;
        }
        // 2. حقوق بین 10 تا 14 میلیون تومان
        else if (salary <= 14_000_000)
        {
            taxAmount = (salary - 10_000_000) * 0.1m;
        }
        // 3. حقوق بین 14 تا 23 میلیون تومان
        else if (salary <= 23_000_000)
        {
            taxAmount = (14_000_000 - 10_000_000) * 0.1m + (salary - 14_000_000) * 0.15m;
        }
        // 4. حقوق بین 23 تا 34 میلیون تومان
        else if (salary <= 34000000)
        {
            taxAmount = (14_000_000 - 10_000_000) * 0.1m + (23_000_000 - 14_000_000) * 0.15m + (salary - 23_000_000) * 0.2m;
        }
        // 5. حقوق بیشتر از 34 میلیون تومان
        else
        {
            taxAmount = (14_000_000 - 10_000_000) * 0.1m + (23_000_000 - 14_000_000) * 0.15m + (34_000_000 - 23_000_000) * 0.2m + (salary - 34_000_000) * 0.3m;
        }
        return taxAmount;
    }