Guest User

Courier Express

a guest
Nov 5th, 2017
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <cmath>
  4. #include <climits>
  5. #include <iomanip>
  6. #include <algorithm>
  7. #include <exception>
  8.  
  9. using namespace std;
  10.  
  11. int main()
  12. {
  13.     double kilograms, kilometers;
  14.     string product;
  15.     cin >> kilograms >> product >> kilometers;
  16.    
  17.     double work_kilos = kilograms * 1000;
  18.    
  19.     double value_for_kilometers, nad;
  20.    
  21.     if (product == "standard")
  22.     {
  23.         if (work_kilos < 1000)
  24.         {
  25.             value_for_kilometers = kilometers * 0.03;
  26.         }
  27.         else if (work_kilos >= 1000 && work_kilos < 10000)
  28.         {
  29.             value_for_kilometers = kilometers * 0.05;
  30.         }
  31.         else if (work_kilos >= 11000 && work_kilos < 40000)
  32.         {
  33.             value_for_kilometers = kilometers * 0.1;
  34.         }
  35.         else if (work_kilos >= 41000 && work_kilos < 90000)
  36.         {
  37.             value_for_kilometers = kilometers * 0.15;
  38.         }
  39.         else if (work_kilos >= 91000 && work_kilos < 150000)
  40.         {
  41.             value_for_kilometers = kilometers * 0.2;
  42.         }
  43.         cout << "The delivery of your shipment with weight of " << fixed << setprecision(3) << kilograms << " kg. would cost " <<
  44.             fixed << setprecision(2) << value_for_kilometers << " lv." << endl;
  45.     }
  46.     if (product == "express")
  47.     {
  48.         if (work_kilos < 1000)
  49.         {
  50.             value_for_kilometers = kilometers * 0.03;
  51.             nad = (((0.8 * 0.03) * kilograms) * kilometers) + value_for_kilometers;
  52.         }
  53.         else if (work_kilos >= 1000 && work_kilos < 10000)
  54.         {
  55.             value_for_kilometers = kilometers * 0.05;
  56.             nad = (((0.4 * 0.05) * kilograms) * kilometers) + value_for_kilometers;
  57.         }
  58.         else if (work_kilos >= 11000 && work_kilos < 40000)
  59.         {
  60.             value_for_kilometers = kilometers * 0.1;
  61.             nad = (((0.05 * 0.1) * kilograms) * kilometers) + value_for_kilometers;
  62.         }
  63.         else if (work_kilos >= 41000 && work_kilos < 90000)
  64.         {
  65.             value_for_kilometers = kilometers * 0.15;
  66.             nad = (((0.02 * 0.15) * kilograms) * kilometers) + value_for_kilometers;
  67.         }
  68.         else if (work_kilos >= 91000 && work_kilos < 150000)
  69.         {
  70.             value_for_kilometers = kilometers * 0.2;
  71.             nad = (((0.01 * 0.2) * kilograms) * kilometers) + value_for_kilometers;
  72.         }
  73.         cout << "The delivery of your shipment with weight of " << fixed << setprecision(3) << kilograms << " kg. would cost " <<
  74.             fixed << setprecision(2) << nad << " lv." << endl;
  75.     }
  76.  
  77.     return 0;
  78. }
Advertisement
Add Comment
Please, Sign In to add comment