Liliana797979

1_1 mid exam - fundamentals

Aug 17th, 2021
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.      
  3. function vacation(input) {
  4.  
  5.   let currentExpenses = 0;
  6.   let tripDays = Number(input.shift());
  7.   let totalBudget = Number(input.shift());
  8.   let countPeople = Number(input.shift());
  9.   let fuelPricePerKm = Number(input.shift());
  10.   let expensesForTravelPerDay = 0;
  11.   let foodExpensesForAPerson = Number(input.shift());
  12.   let hotelRoomPriceForAPerson = Number(input.shift());
  13.   let travelledDistancePerDay = 0;
  14.   let additionalExpenses = 0;
  15.   let currentDay = 1;
  16.  
  17.  
  18.   let totalFoodExpenses = foodExpensesForAPerson * countPeople * tripDays;
  19.   currentExpenses += totalFoodExpenses;
  20.   let totalHotelExpenses = hotelRoomPriceForAPerson * countPeople * tripDays;
  21.   currentExpenses += totalHotelExpenses;
  22.  
  23.   if (countPeople > 10) {
  24.  
  25.     let discount = totalHotelExpenses - (0.25 * totalHotelExpenses);
  26.     currentExpenses = totalFoodExpenses;
  27.     currentExpenses += discount;
  28.  
  29.   }
  30.  
  31.  
  32.  
  33.   while (input[0] != undefined) {
  34.  
  35.  
  36.     if (currentExpenses > totalBudget) {
  37.  
  38.       let remaining = currentExpenses - totalBudget;
  39.       console.log(`Not enough money to continue the trip. You need ${remaining.toFixed(2)}$ more.`);
  40.       return;
  41.  
  42.     }
  43.  
  44.     travelledDistancePerDay = Number(input.shift());
  45.     expensesForTravelPerDay = travelledDistancePerDay * fuelPricePerKm;
  46.  
  47.  
  48.  
  49.     if ((currentDay % 3 == 0 && currentDay != 0) || (currentDay % 5 == 0 && currentDay != 0)) {
  50.  
  51.       currentExpenses += expensesForTravelPerDay;
  52.       additionalExpenses = 0.4 * currentExpenses;
  53.       currentExpenses += additionalExpenses;
  54.       currentDay++;
  55.       continue;
  56.  
  57.  
  58.     }
  59.  
  60.  
  61.     if (currentDay % 7 == 0 && currentDay != 0) {
  62.  
  63.       currentExpenses += expensesForTravelPerDay;
  64.       let reduced = currentExpenses / countPeople;
  65.       currentExpenses -= reduced;
  66.       currentDay++;
  67.       continue;
  68.  
  69.     }
  70.  
  71.  
  72.     currentExpenses += expensesForTravelPerDay;
  73.  
  74.     expensesForTravelPerDay = 0;
  75.  
  76.     currentDay++;
  77.  
  78.   }
  79.  
  80.  
  81.   if (currentExpenses > totalBudget) {
  82.  
  83.     let remaining = currentExpenses - totalBudget;
  84.     console.log(`Not enough money to continue the trip. You need ${remaining.toFixed(2)}$ more.`);
  85.     return;
  86.  
  87.   }
  88.  
  89.  
  90.   let remaining = totalBudget - currentExpenses;
  91.   console.log(`You have reached the destination. You have ${remaining.toFixed(2)}$ budget left.`)
  92.  
  93.  
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment