C++系统性学习之计算邮费

我们将学习如何使用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

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值