使用C加加编程上述问题
时间: 2024-10-24 16:12:23 浏览: 31
在C++编程中解决这个问题,我们可以使用`switch-case`语句替换之前的嵌套`if-else`,因为`switch`更适用于多路分支的情况。以下是一个C++版本的解决方案:
```cpp
#include <iostream>
int main() {
int parts;
std::cout << "请输入工人当日加工的零件数: ";
std::cin >> parts;
// 检查输入是否合法
if (parts < 0) {
std::cout << "输入数据有误" << std::endl;
} else {
switch(parts) {
case 0...40:
double wage = parts * 2.5;
break;
case 41...70:
wage = 40 * 2.5 + (parts - 40) * 3.5;
break;
case 71...90:
wage = 40 * 2.5 + 30 * 3.5 + (parts - 70) * 4.5;
break;
default:
wage = 40 * 2.5 + 30 * 3.5 + 20 * 4.5 + (parts - 90) * 10;
break;
}
std::cout << "工人的当日报酬为: " << static_cast<int>(wage) << std::endl; // 注意将double转换回整数显示
}
return 0;
}
```
在这个C++代码中,我们使用了`case`标签对应不同的零件数量范围,并通过`break`语句结束每个分支。如果零件数量超出所有定义的范围,会被默认落在`default`分支上。
阅读全文