Answer:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    const int WEIGHT_MIN   =    0,
              WEIGHT_MAX   =   20,
              DISTANCE_MIN =   10,
              DISTANCE_MAX = 3000;
    float package_weight,
          distance,
          total_charges;
    cout << "\nWhat is the weight (kg) of the package? ";
    cin >> package_weight;
    if (package_weight <= WEIGHT_MIN || 
        package_weight > WEIGHT_MAX)
    {
        cout << "\nWe're sorry, package weight must be\n"
             << " more than 0kg and less than 20kg.\n"
             << "Rerun the program and try again.\n" 
             << endl;
    }
    else 
    {
        cout << "\nDistance? ";
        cin >> distance;
        if (distance < DISTANCE_MIN || 
            distance > DISTANCE_MAX)
        {
            cout << "\nWe're sorry, the distance must be\n"       << "within 10 and 3000 miles.\n"
                 << "Rerun the program and try again.\n" 
                 << endl;
        }
        else
        {
             if (package_weight <= 2)
                total_charges = (distance / 500) * 1.10;
            else if (package_weight > 2 && 
                    package_weight <= 6)
                total_charges = (distance / 500) * 2.20;
            else if (package_weight > 6 && 
                    package_weight <= 10)
                total_charges = (distance / 500) * 3.70;
            else if (package_weight > 10 && 
                    package_weight <= 20)
                total_charges = (distance / 500) * 4.80;
            cout << setprecision(2) << fixed
                << "Total charges are $" 
                << total_charges 
                << "\nFor a distance of " 
                << distance
                << " miles\nand a total weight of " 
                << package_weight 
                << "kg.\n"
                << endl;
        }
    }
Explanation: