C++运输公司对所运货物实行分段计费问题案例

题目描述

运输公司对所运货物实行分段计费。路程(s,单位:千米)越远,每千米运费则越低。计费标准如下:

(1) s<100 不打折

(2) 100≤s<500 5%折扣

(3) 500≤s<800 8%折扣

(4) 800≤s<1000 10%折扣

(5) s≥1000 12%折扣

设每千米每吨货物的基本运费为p元,货物重量为w吨,路程为s千米,折扣为d,则总运费为:f = p×w×s×(1-d)。

设计一个程序,从键盘输入p, w, s的值,计算并输出总运费f。

分析:本题可以使用if-else-if语句进行多重判断。

案例代码

以下是一个用C++编写的程序,根据输入的p、w和s的值计算并输出总运费f。程序使用if-else-if语句进行多重判断,根据不同的路程范围应用不同的折扣率。

#include <iostream>
using namespace std;

int main() {
    double p, w, s; // 基本运费、货物重量、路程
    double d = 0.0; // 折扣
    double f; // 总运费

    cout << "请输入每千米每吨货物的基本运费(单位:元):";
    cin >> p;
    cout << "请输入货物的重量(单位:吨):";
    cin >> w;
    cout << "请输入路程的长度(单位:千米):";
    cin >> s;

    if (s < 100) {
        d = 0.0;
    } else if (s < 500) {
        d = 0.05;
    } else if (s < 800) {
        d = 0.08;
    } else if (s < 1000) {
        d = 0.1;
    } else {
        d = 0.12;
    }

    f = p * w * s * (1 - d);

    cout << "总运费为:" << f << " 元" << endl;

    return 0;
}

这段程序首先要求用户输入每千米每吨货物的基本运费p、货物的重量w和路程的长度s。然后根据路程的长度应用不同的折扣率,计算总运费f,并将结果输出到屏幕上。

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享