Loading...
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Къде греша?

https://pastebin.com/sak3S6Qe

Задача 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
DragoO avatar DragoO 2 Точки

https://pastebin.com/yv4HxFfK

Ето ти един вариант за еспресото. Отстъпките не ти бяха сметнати както трябва.

0
23/12/2020 18:42:47
LilianaVelvheva avatar LilianaVelvheva 17 Точки

Много благодаря.

0
LilianaVelvheva avatar LilianaVelvheva 17 Точки
function coffeeMachine(arg1, arg2, arg3) { let drink = arg1; let sugar = arg2; let drinksCount = Number(arg3); switch (drink) { case "Espresso": if (sugar === "Without") { totalPrice += drinksCount * 0.9; totalPrice -= drinksCount * 0.35; break; } else if (sugar === "Normal") { totalPrice += drinksCount * 1; } else if (sugar === "Extra") { totalPrice += drinksCount * 1.2; } break; } if (drink === "Espresso" && drinksCount >= 5) { totalPrice -= totalPrice * 0.25; } if (totalPrice > 15) { totalPrice -= totalPrice * 0.2; } case "Cappuccino": switch (sugar) { case "Without": totalPrice = drinksCount * 1.0; break; case "Normal": totalPrice = drinksCount * 1.2; break; case "Extra": totalPrice = drinksCount * 1.6; break; } case "Tea": switch (sugar) { case "Without": totalPrice = drinksCount * 0.5; break; case "Normal": totalPrice = drinksCount * 0.6; break; case "Extra": totalPrice = drinksCount * 0.7; break; } break; } console.log(`You bought ${drinksCount} cups of ${drink} for ${(totalPrice).toFixed(2)} lv.`); }
0
LilianaVelvheva avatar LilianaVelvheva 17 Точки

function coffeeMachine(arg1, arg2, arg3) {

    let drink = arg1;

    let sugar = arg2;

    let drinksCount = Number(arg3);

 

    switch (drink) {

        case "Espresso":

            if (sugar === "Without") {

                   totalPrice += drinksCount * 0.9;

                   totalPrice -= drinksCount * 0.35;

                    break;

             } else if (sugar === "Normal") {

                totalPrice += drinksCount * 1;

             } else if (sugar === "Extra") {

                totalPrice += drinksCount * 1.2;

             }

                    break;


 

            }

            if (drink === "Espresso" && drinksCount >= 5) {

                totalPrice -= totalPrice * 0.25; 

            }

            if (totalPrice > 15) {

                totalPrice -= totalPrice * 0.2;

            }

        case "Cappuccino":

            switch (sugar) {

                case "Without":

                    totalPrice = drinksCount * 1.0;

                    break;

                case "Normal": 

                    totalPrice = drinksCount * 1.2;

                    break;

                case "Extra":

                    totalPrice = drinksCount * 1.6;

                    break;

            }

        case "Tea":

            switch (sugar) {

                case "Without":

                    totalPrice = drinksCount * 0.5;

                    break;

                case "Normal": 

                    totalPrice = drinksCount * 0.6;

                    break;

                case "Extra":

                    totalPrice = drinksCount * 0.7;

                    break;

            }  

            break;

    } 

 

 

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

}

 

Поправих задачата, но нещо пак не е така.

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