Loading...

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

sbboneva avatar sbboneva 25 Точки

Fishing Boat - Nested Conditional Statements РЕШЕНА

Здравейте,

на тази задача:

Лодка за риболов

Тони и приятели много обичали да ходят за риба, те са толкова запалени по риболова, че решават да отидат на риболов с кораб. Цената за наема на кораба зависи от сезона и броя рибари.

Цената зависи от сезона:

  • Цената за наем на кораба през пролетта е  3000 лв.
  • Цената за наем на кораба през лятото и есента е  4200 лв.
  • Цената за наем на кораба през зимата е  2600 лв.

В зависимост от броя си групата ползва отстъпка:

  • Ако групата е до 6 човека включително  –  отстъпка от 10%.
  • Ако групата е от 7 до 11 човека включително  –  отстъпка от 15%.
  • Ако групата е от 12 нагоре  –  отстъпка от 25%.

Рибарите ползват допълнително 5% отстъпка ако са четен брой освен ако не е есен - тогава нямат допълнителна отстъпка.

Напишете програма, която да пресмята дали рибарите ще съберат достатъчно пари.

Вход

От конзолата се четат точно три реда.

  • Бюджет на групата – цяло число в интервала [1…8000]
  • Сезон –  текст : "Spring", "Summer", "Autumn", "Winter"
  • Брой рибари – цяло число в интервала [4…18]

Изход

Да се отпечата на конзолата един ред:

  • Ако бюджетът е достатъчен:
    • Yes! You have {останалите пари} leva left."
  • Ако бюджетът НЕ Е достатъчен:
    • Not enough money! You need {сумата, която не достига} leva."

Сумите трябва да са форматирани с точност до два знака след десетичната запетая.

Примерен вход и изход

Вход

Изход

Обяснения

3000

Summer

11

Not enough money! You need 570.00 leva.

Лятото риболовния туризъм струва 4200 лв., 11 рибари ползват 15% отстъпка -> 4200 - 15% = 3570 лв., нечетен брой са и не ползват допълнителна отстъпка,.

3000 <= 3570, следователно не им достигат 570.00 лв.

Вход

Изход

Вход

Изход

3600

Autumn

6

Not enough money! You need 180.00 leva.

2000

Winter

13

Yes! You have 50.00 leva left.

 

ми минават нулевите тестове, но в Judge ми дава 60/100. 

Това е решението ми:

https://pastebin.com/7SnFw1kC

Моля за съдействие.

Тагове:
0
Programming Basics 23/09/2019 10:00:18
kkaraivanov avatar kkaraivanov 486 Точки

Трудно се ориентирам в Java и JacaScript, затова написах решението на C#. Постнах го тук, надявам се да ти помогне.

0
sbboneva avatar sbboneva 25 Точки

Предпочитам на Java съвет и по-конкретмно за моята логика, тъй като уж всичко съм преценила... Но мерси все пак ;)

0
kkaraivanov avatar kkaraivanov 486 Точки

Погледни този блок от кода :

  1. if (numberFishermen <= 6) {

  2.             discount = 0.1;

  3.         } else if (numberFishermen >=7 && numberFishermen <= 11) {

  4.             discount = 0.15;

  5.         } else if (numberFishermen >= 12) {

  6.             discount = 0.25;

  7.         }

  8.         if ((numberFishermen % 2 == 0) && !season.equals("Autumn")) {

  9.             discount += 0.05;

  10.         }

Прави ми впечатление че на всякъде discount = "стойност", но само на последната проверка е discount +="стойност".

0
sbboneva avatar sbboneva 25 Точки

Така е, защото това е допълнителен процент към вече генерирания и го прибавям само ако е изпълнено условието за четен брой и да не е есен.

0
Tspetrova avatar Tspetrova 125 Точки

Здравей, ето твоят код поправен :-) грешката ти е при изчисляване на discounta - изчислява се като от сумата за лодката се извади същата сума по отстъпката

https://pastebin.com/v0FPtwPE

0
BGviking avatar BGviking 0 Точки

Здравейте , тази задача не беше решена на упражненията , но и аз изпитвам големи затруднения с нея и също така ми дава верни резултати с примерните входове от условията но в judge не мога да прескоча 60 / 100 , аз съм я разписал по доста дълъг начин ,но едва ли това е проблема...

Ето моето решение > https://pastebin.com/cmrY0z1C

Ще съм благодарен ако някй разбере какъв е проблема...

0
Tspetrova avatar Tspetrova 125 Точки

Здравей, това, което виждам на пръв поглед е, че и ти не си изчислил правилно discounta - от цената на лодката вадиш цената на лодката по процента намаление, напр.

totalPrice = boatPrice - (boatPrice * 0.25) 

0
sbboneva avatar sbboneva 25 Точки

Не мога точно да разбера коментара, но гледайки кода, предполагам какво имаш предвид. Проблемът е в това изречение от условието:

"Рибарите ползват допълнително 5% отстъпка ако са четен брой освен ако не е есен - тогава нямат допълнителна отстъпка."

Според мен не е достатъчно добре написано, тъй като аз първоначално бях разбрала, че си събирам всички отстъпки и тогава изваждам от общата цена, а всъщност тези 5% ги изваждам след като извадя другите отстъпки.

;)

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