Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tính tiền thêm thuế trong C dùng toán tử gán

Mô tả bài toán

Nhập số tiền (USD), tính tổng tiền sau khi cộng thuế 18% (hoặc 20%). Sử dụng toán tử gán kết hợp (+=).

Công thức

Tổng tiền = Tiền gốc + Tiền gốc × Thuế suất

Trong C: tong = tien + tien * 0.18 hoặc tong = tien * 1.18

Chương trình 1: Thuế 18%

#include <stdio.h>

int main() {
    float tien, tong;
    
    printf("Nhap so tien (USD): ");
    scanf("%f", &tien);
    
    // Cách 1: Tách bước
    // float thue = tien * 0.18;
    // tong = tien + thue;
    
    // Cách 2: Một dòng (khuyên dùng)
    tong = tien * 1.18f;
    
    printf("So tien sau them thue 18%: %.2f USD\n", tong);
    
    return 0;
}

Kết quả

Nhap so tien (USD): 250
So tien sau them thue 18%: 295.00 USD

Chương trình 2: Thuế 20% (thay đổi tỷ lệ)

#include <stdio.h>

int main() {
    float tien, tong;
    const float THUE_SUAT = 0.20f;  // Hằng số thuế 20%
    
    printf("Nhap so tien (USD): ");
    scanf("%f", &tien);
    
    tong = tien * (1.0f + THUE_SUAT);
    
    printf("So tien sau them thue %.0f%%: %.2f USD\n", THUE_SUAT * 100, tong);
    
    return 0;
}

Kết quả

Nhap so tien (USD): 250
So tien sau them thue 20%: 300.00 USD

Toán tử gán kết hợp (Compound Assignment)

Toán tử Ví dụ Tương đương
+=a += ba = a + b
-=a -= ba = a - b
*=a *= ba = a * b
/=a /= ba = a / b
%=a %= ba = a % b

Áp dụng cho bài toán thuế

// Cách dùng +=
float thue = tien * 0.18f;
tong = tien;
tong += thue;  // tong = tong + thue

// Hoặc gọn hơn
tong = tien;
tong *= 1.18f;  // tong = tong * 1.18

Chương trình hoàn chỉnh: Nhiều mức thuế

#include <stdio.h>

int main() {
    float tien;
    int loaiThue;
    
    printf("Nhap so tien: ");
    scanf("%f", &tien);
    
    printf("Chon muc thue:\n");
    printf("1. 5%%  (Thuc pham)\n");
    printf("2. 10%% (Dich vu)\n");
    printf("3. 18%% (Hang hoa)\n");
    printf("4. 20%% (Hang xa xi)\n");
    printf("Lua chon: ");
    scanf("%d", &loaiThue);
    
    float thueSuat;
    switch (loaiThue) {
        case 1: thueSuat = 0.05f; break;
        case 2: thueSuat = 0.10f; break;
        case 3: thueSuat = 0.18f; break;
        case 4: thueSuat = 0.20f; break;
        default:
            printf("Lua chon khong hop le!\n");
            return 1;
    }
    
    float tong = tien * (1.0f + thueSuat);
    printf("Tien goc: %.2f\n", tien);
    printf("Thue (%.0f%%): %.2f\n", thueSuat * 100, tien * thueSuat);
    printf("TONG CONG: %.2f\n", tong);
    
    return 0;
}

Kết quả

Nhap so tien: 1000
Chon muc thue:
1. 5%  (Thuc pham)
2. 10% (Dich vu)
3. 18% (Hang hoa)
4. 20% (Hang xa xi)
Lua chon: 3
Tien goc: 1000.00
Thue (18%): 180.00
TONG CONG: 1180.00

Sử dụng const cho tỷ lệ thuế và switch-case giúp code dễ bảo trì, mở rộng khi thay đổi chính sách thuế.