Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

eternalincantation avatar eternalincantation 2 Точки

Ski Trip, Nested Conditional Statements

Kude mi e greshkata :)

13.*Ски почивка

Атанас решава да прекара отпуската си в Банско и да кара ски. Преди да отиде обаче, трябва да резервира хотел и да изчисли колко ще му струва престоя. Съществуват следните видове помещения, със следните цени за престой:

  1. "room for one person" – 18.00 лв за нощувка
  2. "apartment" – 25.00 лв за нощувка
  3. "president apartment" – 35.00 лв за нощувка

Според броят на дните, в които ще остане в хотела (пример: 11 дни = 10 нощувки) и видът на помещението, което ще избере, той може да ползва различно намаление. Намаленията са както следва:

вид помещение

по-малко от 10 дни

между 10 и 15 дни

повече от 15 дни

room for one person

не ползва намаление

не ползва намаление

не ползва намаление

apartment

30% от крайната цена

35% от крайната цена

50% от крайната цена

president apartment

10% от крайната цена

15% от крайната цена

20% от крайната цена

След престоя, оценката на Атанас за услугите на хотела може да е позитивна (positive) или негативна (negative) . Ако оценката му е позитивна, към цената с вече приспаднатото намаление Атанас добавя 25% от нея. Ако оценката му е негативна приспада от цената 10%.

Вход

Получават се 3 аргумента:

  1. Първи - дни за престой - цяло число в интервала [0...365]
  2. Втори - вид помещение - "room  for  one  person", "apartment" или "president  apartment"
  3. Трети - оценка - "positive" или "negative"

Изход

На конзолата трябва да се отпечата един ред:

  1. Цената за престоят му в хотела, форматирана до втория знак след десетичната запетая.

 

 

function(days,roomType,experience){
  days=Number(days);
  let nights=days-1;
  let price=0;
  
  if(roomType=="room for one person") {
    price=18*nights;
  }else if(roomType=="apartment"&& days<10){
    price=25*nights-0.3*price;
  }else if(roomType=="apartment"&& days>=10&&days<=15){
    price=25*nights-0.35*price;
  }else if(roomType=="apartment" && days>15) {
    price=25*nights-0.5*price;
  }else if(roomType=="president apartment"&& days<10){
    price=35*nights-0.1*price;
  }else if(roomType=="president apartment"&& days>=10 && days<=15){
    price=35*nights-0.15*price;
  }else if(roomType=="president apartment" && days>15) {
    price=35*nights-0.2*price;
  }
  
  if (experience=="positive") {
    price+=0.25*price;
  }else if(experience=="negative") {
    price-=0.1*price;
  }
  console.log(price.toFixed(2));
}

Тагове:
0
Programming Basics
MartinBG avatar MartinBG 4803 Точки

Има грешка в изчисляването на отстъпките към цените.

Например тук за 4 дни:

  let price=0;
  /....
  }else if(roomType=="apartment"&& days<10){
    price = 25 * nights - 0.3 * price;
  }
  /....

ще получим:

price = 25 * 4 - 0.3 * 0 // * 0, защото price = 0 към този момент

price = 100 - 0

price = 100 // вместо 70

 

Оправен код.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.