Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

«Логические ветвления». В чем ошибка записи кода? Авто тесты выдают ошибку ReferenceError: calcDiscount is not defined

Ёжик с тундры. Ученик (50), на голосовании 1 год назад
 function calcDiscount(sum, min, discount) { 
let productsSum = sum; // сумма в корзине
let discountMinSum = min; // минимальная сумма для скидки
let discountPart = discount; // величина скидки в процентах

// Задание №2.2. Рассчитать скидку

let discountSum;

if (productsSum >= discountMinSum){
discountPart = discountSum / 100 * productsSum;
}else{
discountSum = 0;

}
// Конец решения задания №2.2.

return discountSum;
Голосование за лучший ответ
Дмитрий Профи (798) 1 год назад
Ошибка в записи кода заключается в том, что в условии проверки на скидку вместо переменной "discountPart" должна быть переменная "discountSum", так как переменная "discountSum" инициализирована в начале функции, а "discountPart" не используется в данной функции. Правильный код должен выглядеть так:

function calcDiscount(sum, min, discount) {
let productsSum = sum; // сумма в корзине
let discountMinSum = min; // минимальная сумма для скидки
let discountSum = discount; // величина скидки в процентах
// Задание №2.2. Рассчитать скидку
if (productsSum >= discountMinSum){
discountSum = discountSum / 100 * productsSum;
}else{
discountSum = 0;
}
// Конец решения задания №2.2.
return discountSum;
}
Ёжик с тундры.Ученик (50) 1 год назад
 Исправил, но ошибка сохраняется
function calcDiscount(sum, min, discount) {
let productsSum = sum; // сумма в корзине
let discountMinSum = min; // минимальная сумма для скидки
let discountSum = discount; // величина скидки в процентах

// Задание №2.2. Рассчитать скидку

if (productsSum >= discountMinSum){
discountSum = discountSum / 100 * productsSum;
}else{
discountSum = 0;
}
// Конец решения задания №2.2.

return discountSum;
}
Ёжик с тундры.Ученик (50) 1 год назад
ReferenceError: calcShipping is not defined
ReferenceError: calcShipping is not defined
at UserContext.<anonymous> (file:///C:/Users/%D0%9B%D0%B5%D0%BD%D1%83%D1%88%D0%BA%D0%B0/OneDrive/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0/sal-rab-homeworks/lib/task_2.js:8:26)
at <Jasmine>
Дмитрий Профи (798) Ёжик с тундры., нужно определить функцию calcShipping перед ее вызовом.
Ёжик с тундры.Ученик (50) 1 год назад
Дмитрий, определить функцию calcShipping, подскажите, пожалуйста, как это делаем?
Дмитрий Профи (798) Ёжик с тундры., Чтобы определить функцию calcShipping, нужно написать ее код. Функция должна принимать аргументы и возвращать результат в соответствии с ее заданием. Возможно, вы можете найти код функции calcShipping в вашем проекте, если он был написан ранее. Если нет, то нужно создать новую функцию с этим именем
Ёжик с тундры.Ученик (50) 1 год назад
Значит здесь ошибка тоже?
Дмитрий Профи (798) 1 год назад
да. в данной функции ошибка в синтаксисе: после закрывающей скобки в строке if (productsSum == 0 || productsSum >= freeShippingMinSum) { стоит лишняя фигурная скобка. Она должна быть удалена, чтобы код был выполнимым:

function calcShipping(sum, min, shipping) {
let productsSum = sum; // сумма в корзине
let freeShippingMinSum = min; // минимальная сумма для бесплатной доставки
let shippingPrice = shipping; // стоимость доставки

// Задание №2.1. Рассчитать доставку
let shippingSum;

if (productsSum == 0 || productsSum >= freeShippingMinSum) {
shippingSum = 0;
} else {
shippingSum = shippingPrice;
}

return shippingSum;
}
Ёжик с тундры. Ученик (50) Дмитрий , СПАСИБО ОГРОМНОЕ - Вы ЛУЧШИЙ
Ёжик с тундры.Ученик (50) 1 год назад
 Дмитрий, подскажите, пожалуйста в чем ошибка
let itemCountText = ` `;
itemCountText = itemCountText + product.count;
itemCountText = itemCountText + ` × `;
itemCountText = itemCountText + product.price;
itemCountText = itemCountText + ` ₽ = `;
let sum = product.count * product.price;
itemCountText = itemCountText + sum;
itemCountText = itemCountText + ` ₽ `;

// Конец решения задания №3.1.

return `
${product.title}
${itemCountText}
`;
}
Ёжик с тундры.Ученик (50) 1 год назад
Автотест пишет
Error: Expected '<div class="cart-item"><div>Пицца</div><div> 5 × 500.00 ₽ = 2500 ₽ </div></div>' to be '<div class="cart-item"><div>Пицца</div><div>5 × 500.00 ₽ = 2500 ₽</div></div>'.
Ёжик с тундры.Ученик (50) 1 год назад
Error: Expected '<div class="cart-item"><div>Эчпочмак</div><div> 2 × 55.00 ₽ = 110 ₽ </div></div>' to be '<div class="cart-item"><div>Эчпочмак</div><div>2 × 55.00 ₽ = 110 ₽</div></div>'.
Ёжик с тундры.Ученик (50) 1 год назад
Дмитрий, разобрался, спасибо
Дмитрий Профи (798) Ёжик с тундры., не увидел ваши сообщения. с радостью бы помог
Похожие вопросы