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

Къде ми е грешката в тази задача и защо judge ми дава 0 точки?

https://pastebin.com/Lsbc0a85

 

1.Магазин за плодове

 

Магазин за плодове през работните дни работи на следните цени:

плод

banana

apple

orange

grapefruit

kiwi

pineapple

grapes

цена

2.50

1.20

0.85

1.45

2.70

5.50

3.85

Събота и неделя магазинът работи на по-високи цени:

плод

banana

apple

orange

grapefruit

kiwi

pineapple

grapes

цена

2.70

1.25

0.90

1.60

3.00

5.60

4.20

Напишете функция, която получава аргументи:плод (banana / apple / orange / grapefruit / kiwi / pineapple / grapes), ден от седмицата (Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / Sunday) и количество (число) и пресмята цената според цените от таблиците по-горе. Резултатът да се отпечата закръглен с 2 цифри след десетичната точка. При невалиден ден от седмицата или невалидно име на плод да се отпечата "error".

 

 

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

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

 

вход

изход

("apple",

"Tuesday",

"2")

2.40

("orange",

"Sunday",

"3")

2.70

("kiwi",

"Monday",

"2.5")

6.75

("grapes",

"Saturday",

"0.5")

2.10

("tomato",

"Monday",

"0.5")

error

 

 

Тагове:
Axiomatik avatar Axiomatik 2422 Точки

Woow, that is brutal but good practise. Keep in mind that you can combine Monday-Friday and Saturday and Sunday and don't need to write out a case for each day individually. Otherwise you did not declare let price = 0 which is needed to avoid printing out a message when no valid price has been found.

function shopForFruits(arg1, arg2, arg3) {
    let fruit = arg1;
    let day = arg2;
    let quantity = Number(arg3);
    let price = 0;

    switch (day) {
        case "Monday":
            switch (fruit) {
                case "banana":
                    price = 2.5;
                    break;
                case "apple":
                    price = 1.2;
                    break;
                case "orange":
                    price = 0.85;
                    break;
                case "grapefruit":
                    price = 1.45;
                    break;
                case "kiwi":
                    price = 2.7;
                    break;
                case "pineapple":
                    price = 5.5;
                    break;
                case "grapes":
                    price = 3.85;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Tuesday":
            switch (fruit) {
                case "banana":
                    price = 2.5;
                    break;
                case "apple":
                    price = 1.2;
                    break;
                case "orange":
                    price = 0.85;
                    break;
                case "grapefruit":
                    price = 1.45;
                    break;
                case "kiwi":
                    price = 2.7;
                    break;
                case "pineapple":
                    price = 5.5;
                    break;
                case "grapes":
                    price = 3.85;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Wednesday":
            switch (fruit) {
                case "banana":
                    price = 2.5;
                    break;
                case "apple":
                    price = 1.2;
                    break;
                case "orange":
                    price = 0.85;
                    break;
                case "grapefruit":
                    price = 1.45;
                    break;
                case "kiwi":
                    price = 2.7;
                    break;
                case "pineapple":
                    price = 5.5;
                    break;
                case "grapes":
                    price = 3.85;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Thursday":
            switch (fruit) {
                case "banana":
                    price = 2.5;
                    break;
                case "apple":
                    price = 1.2;
                    break;
                case "orange":
                    price = 0.85;
                    break;
                case "grapefruit":
                    price = 1.45;
                    break;
                case "kiwi":
                    price = 2.7;
                    break;
                case "pineapple":
                    price = 5.5;
                    break;
                case "grapes":
                    price = 3.85;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Friday":
            switch (fruit) {
                case "banana":
                    price = 2.5;
                    break;
                case "apple":
                    price = 1.2;
                    break;
                case "orange":
                    price = 0.85;
                    break;
                case "grapefruit":
                    price = 1.45;
                    break;
                case "kiwi":
                    price = 2.7;
                    break;
                case "pineapple":
                    price = 5.5;
                    break;
                case "grapes":
                    price = 3.85;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Saturday":
            switch (fruit) {
                case "banana":
                    price = 2.7;
                    break;
                case "apple":
                    price = 1.25;
                    break;
                case "orange":
                    price = 0.9;
                    break;
                case "grapefruit":
                    price = 1.6;
                    break;
                case "kiwi":
                    price = 3.0;
                    break;
                case "pineapple":
                    price = 5.6;
                    break;
                case "grapes":
                    price = 4.2;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
                    break;
            }
            break;
        case "Sunday":
            switch (fruit) {
                case "banana":
                    price = 2.7;
                    break;
                case "apple":
                    price = 1.25;
                    break;
                case "orange":
                    price = 0.9;
                    break;
                case "grapefruit":
                    price = 1.6;
                    break;
                case "kiwi":
                    price = 3.0;
                    break;
                case "pineapple":
                    price = 5.6;
                    break;
                case "grapes":
                    price = 4.2;
                    console.log(`fruit`);
                    break;
                default:
                    console.log(`error`);
            }
            break;
        default: console.log(`error`);
            break;
    }
    if (price !== 0) {
        let totalPrice = price * quantity;
        console.log(totalPrice.toFixed(2))
    }
}

Shorter variant:

switch (day) {
    case 'Monday':
    case 'Tuesday':
    case 'Wednesday':
    case 'Thursday':
    case 'Friday':
        switch (fruit) {
            case "banana":
                price = 2.5;
                break;
            case "apple":
                price = 1.2;
                break;
            case "orange":
                price = 0.85;
                break;
            case "grapefruit":
                price = 1.45;
                break;
            case "kiwi":
                price = 2.7;
                break;
            case "pineapple":
                price = 5.5;
                break;
            case "grapes":
                price = 3.85;
                console.log(`fruit`);
                break;
            default:
                console.log(`error`);
                break;
        }
        break;
    case 'Saturday':
    case 'Sunday':
        switch (fruit) {
            case "banana":
                price = 2.7;
                break;
            case "apple":
                price = 1.25;
                break;
            case "orange":
                price = 0.9;
                break;
            case "grapefruit":
                price = 1.6;
                break;
            case "kiwi":
                price = 3.0;
                break;
            case "pineapple":
                price = 5.6;
                break;
            case "grapes":
                price = 4.2;
                console.log(`fruit`);
                break;
            default:
                console.log(`error`);
        }
        break;
    default:
        break;
}

 

0
Axiomatik avatar Axiomatik 2422 Точки

Wait a minute, what is that console.log('fruit') doing in those switch-cases ???

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