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 += b | a = a + b |
-= | a -= b | a = a - b |
*= | a *= b | a = a * b |
/= | a /= b | a = a / b |
%= | a %= b | a = 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ế.