Loading...
+ Нов въпрос
BobbyDimitrov avatar BobbyDimitrov 1 Точки

03. Coffee Machine || Programming Basics Online Exam - 6 and 7 July 2019

Здравейте!

Имам проблем със задачата. Във VS Code резултатите от трите входа излизат, но Judge намира грешка в Test #2 и дава 88/100;

Прегледах решението си няколко пъти, но не можах да намеря причината.

Код: https://pastebin.com/QQL0bg42.

 

 

Задача 3. Кафемашина
 

Напишете софтуер, който да пресмята сметката на клиент, закупил определен брой от дадена напитка от кафемашина.
                       

                      Без захар    Нормално    Допълнително захар
Еспресо        0.90 лв./бр.     1 лв. /бр.         1.20 лв. /бр.
Капучино      1.00 лв. /бр.    1.20 лв. /бр.    1.60 лв. /бр.
Чай               0.50 лв. /бр.    0.60 лв. /бр.     0.70 лв. /бр.

Трябва да имате предвид следните отстъпки:
 - При избрана напитка без захар има 35% отстъпка.
 - При избрана напитка "Espresso" и закупени поне 5 броя, има 25% отстъпка.
 - При сума надвишава 15 лева, 20% отстъпка от крайната цена,  
Отстъпките се прилагат в реда на тяхното описване.

Вход:
Входът се чете от конзолата и се състои от три реда:
Първи ред - напитка - текст с възможности"Espresso", "Cappuccino" или "Tea"
Втори ред - захар - текст  с възможности "Without", "Normal" или "Extra"
Трети ред - брой напитки - цяло число в интервала [1… 50]

Изход:


На конзолата трябва да се отпечата един ред:
"You bought {брой напитки} cups of {напитка} for {крайна цена} lv."
Цената да бъде форматирана до втората цифра след десетичния знак.

Примерен вход и изход:
Вход:  "Espresso", "Without", "10"

Изход: You bought 10 cups of Espresso for 4.39 lv.     

 

Обяснения:
Избрани са 10 броя Еспресо без захар по 0.90 лв. за чаша -> 9 лв.
35% отстъпка за напитка без захар от 9 лв. ->  3.15 -> 9 – 3.15 = 5.85
25% отстъпка за покупка на поне 5 броя еспресо. 25% от 5.85 -> 1.4625
5.85 – 1.4625 -> 4.3875

 

Вход: "Cappuccino", "Normal", "13"   

Изход: You bought 13 cups of Cappuccino for 12.48 lv.    

Обяснения:
Избрани са 13 броя Капучино със нормална захар по 1.20 лв. за чаша -> 15.60 лв.
15.60 >= 15.00 -> 20% отстъпка от 15.60 е 3.12
15.60 – 3.12 = 12.48 лв.

Вход: "Tea", "Extra", "3"    

Изход: You bought 3 cups of Tea for 2.10 lv.

Обяснения:
 Избрани са 3 чая с допълнителна захар по 0.70 лв. за чаша -> 2.10 лв.
Няма отстъпки, крайната цена остава 2.10 лв.


 

Тагове:
0
Programming Basics 27/09/2022 13:34:44
Axiomatik avatar Axiomatik 2178 Точки

Super code, validation for price higher than 15lv must be executed on the final price as stated:

  • При сума надвишава 15 лева, 20% отстъпка от крайната цена,

;-)

function coffeeMachine(data) {
    let drinkType = data[0];
    let sugar = data[1];
    let drinksCount = Number(data[2]);
    let drinkPrice = 0;

    switch (drinkType) {
        case "Espresso":
            if (sugar === "Without") {
                drinkPrice = (drinksCount * 0.90) * 0.65;
            }
            else if (sugar === "Normal") {
                drinkPrice = drinksCount * 1.00;
            }
            else if (sugar === "Extra") {
                drinkPrice = drinksCount * 1.20;
            }
            
            break;
        case "Cappuccino":
            if (sugar === "Without") {
                drinkPrice = (drinksCount * 1.00) * 0.65;
            }
            else if (sugar === "Normal") {
                drinkPrice = drinksCount * 1.20;
            }
            else if (sugar === "Extra") {
                drinkPrice = drinksCount * 1.60;
            }

            break;
        case "Tea":
            if (sugar === "Without") {
                drinkPrice = (drinksCount * 0.50) * 0.65;
            }
            else if (sugar === "Normal") {
                drinkPrice = drinksCount * 0.60;
            }
            else if (sugar === "Extra") {
                drinkPrice = drinksCount * 0.70;
            }

            break;
        default: break;
    }

    if (drinkType === "Espresso" && drinksCount >= 5) {
        drinkPrice = drinkPrice * 0.75;
    }

    if (drinkPrice > 15) {
        drinkPrice = drinkPrice * 0.80;
    }

    console.log(`You bought ${drinksCount} cups of ${drinkType} for ${drinkPrice.toFixed(2)} lv.`);
}

 

0
BobbyDimitrov avatar BobbyDimitrov 1 Точки

Thanks, appreciate it :)

0
succeedraw avatar succeedraw 1 Точки

Я вижу много полезной информации. Очень интересно!

cuphead
 

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