Задача 3. Сладкарница
Имам проблем със задача, от теста(понеже моето време изтече), и искам да разбера защо получавам 54/100, когато изхода на задачата е същият с изхода от пдф файла?
https://pastebin.com/sk1r7Aiv
Имам проблем със задача, от теста(понеже моето време изтече), и искам да разбера защо получавам 54/100, когато изхода на задачата е същият с изхода от пдф файла?
https://pastebin.com/sk1r7Aiv
Бих ти помогнал, къде е условие на задачата?
Но най вероятно си сбъркал нещо в проверките. При този вход:
solve(["Cake",
"1",
"15"])
Резултата ти е ----->>>> 0.00 !!!
Нещо не ми се връзва, има продаден Cake, но отстъпката е толкова голяма, че няма печалба.
Най-вероятно проблема ти е в тази проверка:
if(dayInMonth_bf <= 15){
discountSum = discountSum - ( discountSum * 0.10);
}
console.log(discountSum.toFixed(2))
Смяташ discountSum, но ти нямаш такава и разпечатваш стойноста на:
var discountSum = 0; т.е. получаваш неверен резултат, защото проверките ти са така организирани, че никога не влизаш в тях, така че да си сметнеш дискаунта и той си остава "0"!!!
И не са ли ви казвали, че не е добра практика да ползваш var, не че е грешка но така декларирана променливат има особено поведение?
Ако изпратиш условие ще съм по-конкретен, но определено при този реален вход изхода на кода ти е грешен!!!
Успех!
Отрких къде ми беше проблемът, бях забравил да сложа още един "if" за отстъпка по малка от 22 или надолу, но пак получих 55/100. Проблемът беше неизвестен понеже всеки изход беше верен, освен тестовете, на които не пише нищо. Само там имах грешки, които не знаех как да оправя :)
Oтделно за var или let, ползвам си let предимно просто мислех, че ще ми е от помощ при декларирането на глобални променливи.Благодаря ти за обратната връзка отново :)
това е линк към условеието на задачата: https://softuni.bg/downloads/svn/programming-basics/2018-11/Exam/03.%20Pastry%20Shop.pdf
Опа който не чети така е имам в предвид себе си, по условие имаш и допълнителни проверки а имнно:
1. Сладкиш – текст - “Cake”, “Souffle” или “Baklava”
2. Брой на поръчаните сладкиши – цяло число в интервала [1 ... 10000]
3. Ден от месец декември преди Коледа – цяло число в интервала [1 ... 24]
https://pastebin.com/NHXY3vcw
Това е твоя код с поправките.
Това трябва да ти е решението, защото при твоя код ако подадеш дата 25 пак изкарва резултат. Ако продадеш само един артикул, не получаваш цена преди 22, да обаче преди 15 имаш отстъпка 10%.
На 25 в действителност тогава е коледа и магазина не работи ;), а пък ако подадеш 10001 неможеш да изпълниш поръчката. Това дали са торта, суфле или баклава си го заключил, само на тях даваш цени, обаче ако подадеш нещо друго а датата и бройката са ти наред тогава ще получиш 0.00, а не би трябвало да имаш резултат за несъществуващ асортимент.
Надявам се да помогнах, лично аз бих използвал друг подход, но и тъй става, стига да постигнеш резултат и да си разбираш логиката, а пък и другите да ти я схващат разбира се ;)
Ако искаш погледни това:
https://pastebin.com/YqD8YaMq
Драсни един два реда ако става или не, благодаря предварително!