邮政汇款的收费标准是汇款金额的 1% ,但单笔收费上限是 50 元。编写一个函数 double shouFei(double money) ,根据输入的汇款金额 money ,返回所要收取的费用。
时间: 2024-09-18 09:15:33 浏览: 34
邮政汇款的收费标准函数可以设计成如下的样子:
```c++
double shouFei(double money) {
if (money <= 0) {
// 如果汇款金额小于等于0,返回0,因为无法收费
return 0;
} else if (money < 500) {
// 对于金额在0到50元之间的部分,直接按1%计算
return money * 0.01;
} else {
// 对于超过500元的部分,按每50元收一次费,直到达到50元为止
int fees = money / 50; // 汇费次数
double extraFee = fees * 50; // 超过50元部分的实际费用
double totalFee = 50 + extraFee; // 总费用,包括基本的50元和额外的费用
return totalFee;
}
}
```
这个函数首先检查金额是否合法,然后根据不同区间采取不同的计费策略。
相关问题
c++邮政汇款的收费标准是汇款金额的 1% ,但单笔收费上限是 50 元。编写一个函数 double shouFei(double money) ,根据输入的汇款金额 money ,返回所要收取的费用。
在 C++ 中,你可以通过判断汇款金额是否超过单笔收费上限来计算邮政汇款的费用。如果金额小于等于50元,则按1%计算;如果金额大于50元,则直接取50元作为费用。以下是这个函数的实现:
```cpp
double shouFei(double money) {
const double charge_rate = 0.01; // 汇款比例
const double max_fee = 50.0; // 单笔收费上限
if (money <= max_fee) { // 如果金额不超过上限
return money * charge_rate;
} else { // 否则
return max_fee; // 取上限费用
}
}
```
使用这个函数时,只需要传入你要汇出的金额即可获取相应的费用。例如:
```cpp
double amount = 70.0;
double fee = shouFei(amount);
std::cout << "汇款金额 " << amount << " 的费用是 " << fee << " 元。\n";
```
阅读全文