长途电话计费方式为: 3分钟收费0.6元(不足3分钟 ,按3分钟计费) 3分钟以后超过1分钟增收0.3 元(不足1分钟,按1分钟计费) 若通话时间在24点至晨8点之 前,则按半价收费的C++编程代码
时间: 2024-10-14 13:18:12 浏览: 21
3GPP规范5G计费相关文档.rar
长途电话计费通常涉及条件判断和循环结构。以下是使用C++编写的一个简单示例代码,用于计算通话费用,考虑到半价时间段:
```cpp
#include <iostream>
double calculateCallFee(double totalMinutes, bool isOffPeak) {
// 半价时间段系数
double halfPriceFactor = isOffPeak ? 0.5 : 1;
// 将总分钟数四舍五入到最接近的整数,便于处理不足一分钟的情况
int roundedMinutes = static_cast<int>(totalMinutes + 0.5);
// 计算费用
double baseCharge = 0.6;
double additionalCharge = (roundedMinutes - 3) * 0.3;
// 按照规则调整费用
if (roundedMinutes <= 3) {
fee = baseCharge; // 如果小于等于3分钟,按照基础费用计算
} else {
fee = baseCharge + additionalCharge;
}
return fee * halfPriceFactor;
}
int main() {
double totalMinutes;
std::cout << "请输入通话总分钟数(精确到小数点后一位): ";
std::cin >> totalMinutes;
// 获取用户是否处于半价时间段,这里假设通过输入或其他方式获取
bool offPeakTime = ...; // 根据实际情况填写获取方法
double callFee = calculateCallFee(totalMinutes, offPeakTime);
std::cout << "通话费用为: " << callFee << "元" << std::endl;
return 0;
}
```
在这个代码里,`calculateCallFee`函数接受通话时间和是否为半价时间段作为参数,然后根据给定的计费规则计算费用。在`main`函数中,用户会被提示输入通话时间,并根据输入计算实际费用。
阅读全文