Spocoman

Travel Agency

May 25th, 2022 (edited)
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function travelAgency(input) {
  2.     let town = input[0];
  3.     let pack = input[1];
  4.     let vip = input[2]
  5.     let days = Number(input[3]);
  6.     if (days > 7) {
  7.         days--;
  8.     }
  9.  
  10.     let total = days
  11.  
  12.     if ((town === "Bansko" || town === "Borovets" || town === "Varna" || town === "Burgas") &&
  13.         (pack === "noEquipment" || pack === "withEquipment" || pack === "noBreakfast" || pack === "withBreakfast")) {
  14.         if (days < 1) {
  15.             console.log("Days must be positive number!");
  16.         } else {
  17.             if (town === "Bansko" || town === "Borovets") {
  18.                 if (pack === "withEquipment") {
  19.                     total *= 100;
  20.                     if (vip == "yes") {
  21.                         total *= 0.90;
  22.                     }
  23.                 } else {
  24.                     total *= 80
  25.                     if (vip == "yes") {
  26.                         total *= 0.95;
  27.                     }
  28.                 }
  29.             } else {
  30.                 if (pack == "withBreakfast") {
  31.                     total *= 130;
  32.                     if (vip == "yes") {
  33.                         total *= 0.88;
  34.                     }
  35.                 } else {
  36.                     total *= 100
  37.                     if (vip == "yes") {
  38.                         total *= 0.93;
  39.                     }
  40.                 }
  41.             }
  42.             console.log(`The price is ${total.toFixed(2)}lv! Have a nice time!`)
  43.         }
  44.     } else {
  45.         console.log("Invalid input!");
  46.     }
  47. }
  48.  
  49. РЕШЕНИЕ С ТЕРНАРЕН ОПЕРАТОР:
  50.  
  51. function travelAgency(input) {
  52.     let town = input[0];
  53.     let pack = input[1];
  54.     let vip = input[2]
  55.     let days = Number(input[3]);
  56.     days -= days > 7 ? 1 : 0;
  57.  
  58.     let total = (town === "Bansko" || town === "Borovets" ?
  59.         (pack === "withEquipment" ? 100 * (vip == "yes" ? 0.90 : 1) :
  60.             pack === "noEquipment" ? 80 * (vip == "yes" ? 0.95 : 1) : 0) :
  61.         town === "Varna" || town === "Burgas" ? (pack == "withBreakfast" ? 130 * (vip == "yes" ? 0.88 : 1) :
  62.             pack === "noBreakfast" ? 100 * (vip == "yes" ? 0.93 : 1) : 0) : 0) * days;
  63.  
  64.     console.log(days < 1 ? "Days must be positive number!" : total === 0 ? "Invalid input!" : `The price is ${total.toFixed(2)}lv! Have a nice time!`);
  65. }
  66.  
Add Comment
Please, Sign In to add comment