对某产品征收税金,在产值1万元以上收税5%;在1万元以下但在5000元以上的征收税3%;在5000元以下但在1000元以上征收税2%;1000元以下的免收税。编程计算该产品的收税金额。 【样例输入】1000 【样例输出】20 用switch…case语句
时间: 2024-10-28 10:15:15 浏览: 7
在C++中,你可以使用`switch...case`语句结合条件判断来根据不同的税率计算税金。首先定义税率和税额变量,然后处理各种情况。这是一个简单的示例:
```cpp
#include <iostream>
int calculateTax(double value) {
double tax = 0;
switch (true) {
case value >= 10000:
tax = value * 0.05; // 5%
break;
case value >= 5000:
tax = value * 0.03; // 3%
break;
case value >= 1000:
tax = value * 0.02; // 2%
break;
default: // 对于1000元以下的情况
tax = 0; // 免收税
break;
}
return static_cast<int>(tax); // 返回整数税额
}
int main() {
double inputValue;
std::cout << "请输入产品的产值(单位:元):";
std::cin >> inputValue;
int taxAmount = calculateTax(inputValue);
std::cout << "应缴纳的税金为:" << taxAmount << "元" << std::endl;
return 0;
}
```
在这个例子中,我们首先获取用户的输入值,然后根据`switch`语句中的条件逐层检查并设置相应的税率。如果输入值不在任何一个范围内,程序会执行默认分支(即最后一项),这时税额为0。
**相关问题:**
1. `switch...case`语句的工作原理是什么?
2. `static_cast`在这里的作用是什么?
3. 这段代码如何处理边界条件?
阅读全文