我们将学习如何使用C++编写一个程序,根据邮件的重量和用户是否选择加急来计算邮费。邮费计算规则如下:
- 重量在1000克以内(包括1000克),基本费8元。
- 超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算。
- 如果用户选择加急,额外收取5元。
问题描述
我们的任务是编写一个C++程序,接受用户输入的重量和是否加急的信息,然后计算并输出相应的邮费。
解决方案
#include <iostream>
using namespace std;
// 函数声明
int calculatePostage(int weight, char express);
int main() {
// 输入邮件重量和是否加急
cout << "请输入邮件重量(单位为克)和是否加急(y/n),以空格分隔: ";
int weight;
char express;
cin >> weight >> express;
// 调用函数计算邮费
int postage = calculatePostage(weight, express);
// 输出邮费
cout << "邮费为: " << postage << "元" << endl;
return 0;
}
// 函数定义:计算邮费
int calculatePostage(int weight, char express) {
const int baseFee = 8; // 基本费用
const int overweightFee = 4; // 超重费用
const int expressFee = 5; // 加急费用
int postage = baseFee;
// 计算超重费用
if (weight > 1000) {
int overweight = (weight - 1000) / 500;
if ((weight - 1000) % 500 != 0) {
overweight++;
}
postage += overweight * overweightFee;
}
// 加急费用
if (express == 'y') {
postage += expressFee;
}
return postage;
}
示例1
输入:
1200 y
输出:
17