PowerCell46

Ski trip JS

Sep 23rd, 2022 (edited)
1,146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function skiVacation(input) {
  2.  
  3. let stayingDays = Number(input[0]);
  4. let typeOfRoom = input[1];
  5. let review = input[2];
  6. let priceForTheRoom = 0;
  7. let numberOfDays = stayingDays - 1;
  8. let discount = 0;
  9. let sum = 0;
  10. let almostFinalSum = 0;
  11. let finalSum = 0;
  12.  
  13. switch(typeOfRoom) {
  14. case "room for one person":
  15. priceForTheRoom = 18;
  16. sum = numberOfDays * priceForTheRoom; break;
  17. case "apartment":
  18. priceForTheRoom = 25;
  19. sum = numberOfDays * priceForTheRoom; break;
  20. case "president apartment":
  21. priceForTheRoom = 35;
  22. sum = numberOfDays * priceForTheRoom; break;
  23. default: console.log("Error!");
  24. }
  25.  
  26. if(numberOfDays < 10) {
  27.     switch(typeOfRoom) {
  28.     case "room for one person":
  29.     discount = 0; break;
  30.     case "apartment":
  31.     discount = (sum/100) * 30; break;
  32.     case "president apartment":
  33.     discount = (sum/10); break;
  34.     default: console.log("Error!")
  35.     }
  36. } else if(numberOfDays >= 10 && numberOfDays <= 15) {
  37.     switch(typeOfRoom) {
  38.         case "room for one person":
  39.         discount = 0; break;
  40.         case "apartment":
  41.         discount = (sum/100) * 35; break;
  42.         case "president apartment":
  43.         discount = (sum/100) * 15; break;
  44.         default: console.log("Error!")
  45.         }
  46. } else if(numberOfDays > 15) {
  47.     switch(typeOfRoom) {
  48.         case "room for one person":
  49.         discount = 0; break;
  50.         case "apartment":
  51.         discount = (sum/100) * 50; break;
  52.         case "president apartment":
  53.         discount = (sum/100) * 20; break;
  54.         default: console.log("Error!")
  55.         }
  56. }
  57. almostFinalSum = sum - discount;
  58.  
  59. switch(review) {
  60. case "positive":
  61. finalSum = almostFinalSum + ((almostFinalSum/100) * 25); break;
  62. case "negative":
  63. finalSum = almostFinalSum - ((almostFinalSum/100) * 10); break;
  64. default: console.log("Error!"); break;
  65. }
  66.  
  67. console.log(finalSum.toFixed(2));
  68. }
Advertisement
Add Comment
Please, Sign In to add comment