Софтуерно Инженерство
Loading...
BobiLichev avatar BobiLichev 0 Точки

Honeymoon от предварителен изпит 3 и 4 ноември 2018

Здравейте! Бих искал да попитам дали ще е възможно някой да ми помогне с тази задача. Ето го  кода ми: https://pastebin.com/DYFzBQRM

Когато го пусна в Judge -а ми дава 64/100. На грешните ми излиза следното:

The process executing your submission for this test may not have received the output successfully. Please try to submit again the same solution. If the result does not change, then search the error in the submission itself.

 

ето го и условието:

Михаела и Иван решили да организират своят меден месец. От туристическата фирма им предлагат 5 варианта с различни цени за нощувки  и самолетни  билети.

  • Кайро, Египет – 250 лв. на човек за нощувка и 600 лв. за двупосочен билет за двамата.
  • Париж, Франция – 150 лв. на човек за нощувка и 350 лв. за двупосочен билет за двамата.
  • Лима, Перу – 400 лв. на човек за нощувка и 850 лв. за двупосочен билет за двамата.
  • Ню Йорк, САЩ – 300 лв. на човек за нощувка и 650 лв. за двупосочен билет за двамата.
  • Токио, Япония – 350 лв. на човек за нощувка и 700 лв. за двупосочен билет за двамата.

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

 

  • От 1 до 43% за Кайро и Ню Йорк;
  • От 5 до 95% за Кайро и Ню Йорк; 7% - за Париж;
  • От 10 до 2410% – Кайро; 12% - Париж, Ню Йорк и Токио;
  • От 25 до 49 –  17% за Токио и Кайро; 19% за Ню Йорк и Лима; 22% за Париж;
  • 50 или повече30% за всички градове

 

Напишете програма, която да пресмята дали определения бюджет ще им стигне за пътуването.

Вход

Входът се чете от конзолата и съдържа точно 3 реда:

  • На първия ред е бюджетътреално число в интервала [1 000.00 ... 1 000 000.00]
  • На втория ред е избраният градтекст с възможности "Cairo", "Paris", "Lima", "New York" и "Tokyo"
  • На третия ред е броят на нощувкитецяло число в интервала [1 ... 200]

Изход

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

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

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

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

Вход

Изход

Обяснения

2000

Cairo

1    

Yes! You have 933.00 leva left.

1 нощувка * (250 * 2) = 500 лв. – за спане

500 + 600 = 1100 лв. – добавяме самолетните билети

1 нощувка в Кайро – 3% отстъпка от общата сума

Крайната цена: 1067 лв. – влиза в бюджета

Оставащата сума 2000 – 1067 = 933 лв.

Вход

Изход

Обяснения

5000

New York

8

Not enough money! You need 177.50 leva.

8 нощувки * (300 * 2) = 4800 лв. – за спане

4800 + 650 = 5450 лв. – добавяме самолетните билети

8 нощувки – 5% отстъпка от общата сума

Крайната цена: 5117.50 лв.

Понеже 5117.50 > 5000, то бюджета не е достатъчен

Недостигаща сума 5117.50 – 5000 = 177.50 лв.

 

 

 

Тагове:
0
Programming Basics with C#
Petya_koleva avatar Petya_koleva 65 Точки
Best Answer

Здравей! Не съм на компютъра и не мога да го напиша, ще се ти го обясна. Първо трябва да проверяваш града, след това нощувките и да добавиш отстъпката, също така там където нямаш отстъпка трябва да напишрш колко ще е редовната цена. Ако не се справиш пиши, ще ти го обясна отново.

0
Petya_koleva avatar Petya_koleva 65 Точки

Ето тов е моя код, надявам се да съм ти помогнала.

https://pastebin.com/x3AG2Vvc

Ако съм успяла, можеш да избереш отгожора ми за най- добър.

Благодаря предварително!

0
BobiLichev avatar BobiLichev 0 Точки

Благодаря ти за помощта. Попринцип ми се щеше да се справя със задачата използвайки switch-case , но сега ще пробвам и по този начин.

0
01/12/2018 13:46:36
knoteva avatar knoteva 88 Точки

Здравей,

Това е твоето пререаботено решение, което дава 100 точки: https://pastebin.com/aXRDU2z2. Имаше няколко проблема.

1. Грешни стойности на някои цени(Редове 47, 97, 125 от твоето решение).

2, За градовете, които не ползват отстъпка не се смята цената на самолетните билети.

Според мен по-добрия вариант е проверките за отстъпките да бъдат в witch-case. Нещо такова: https://pastebin.com/ZFUYvRi0

0
BilyanaDer avatar BilyanaDer 0 Точки

Здравейте, за тази задача аз получавам 84/100. Някой може ли да каже къде в моето решение е проблема.

https://pastebin.com/JnFXEVHC

0
knoteva avatar knoteva 88 Точки

if (overNaight >= 1 && overNaight <= 4) (което в случая не е от значение :)) и

 else if (overNaight >= 50)
        {
            allSum = allSum - allSum * 0.3;
        }

0
07/12/2018 14:28:21
BilyanaDer avatar BilyanaDer 0 Точки

Стана, бива ли сега такава грешка да имам :))).

Благодаря!

0