Професионална програма
Loading...
+ Нов въпрос
juri80 avatar juri80 2 Точки

Sum of Numbers - For Loop - Lab

Здравейте, от скоро се занимавам с програмиране, и стигнах до циклите. Тази задача я боря няколко часа, но не чи се получава, ето условието и моя код


Сбор от букви
Напишете програма, която изчислява дали бюджетът ни е достатъчен, за да си купим продукта, който искаме.
В името на продукта всяка гласна буква е със стойност 3, а всяка съгласна със стойност 1. Цената на продукта
се изчислява като сумата от стойностите на буквите се умножи по дадено контролно число. За гласни букви се
считат: "a", "e", "i", "o", "u" и "y".

Вход
Програмата прочита 3 стойности, въведени от потребителя:
 име на продукта - текст (малки букви)
 контролно число - число в интервала [1.0...50.0]
 бюджет - цяло число в интервала [0...99999999]

Изход
Ако бюджетът е по-малък от стойността на продукта, тогава се отпечатва съобщението:
Cannot buy {име на продукта}. Product value: {стойност на продукта}"

В противен случай се отпечатва съобщението:

{име на продукта} bought. Money left: {останали пари}

function sumOfLetters(input){
    let product = input[0];//име на продукта
    let someNumbers = Number(input[1]);//контролно число
    let budget = Number(input[2]);//бюджет

    let price = 0;

    for(let index = 0; index <= product.length; product++){
        let current = product[index];

        if(current === 'a' && current === 'e' && current === 'i' && current === 'o' && current === 'u' && current === 'y')
        {
            price += 3 * someNumbers;//6
        }else{
            price += 1 * someNumbers;//3
        }
        let diff = price + price;
       if(budget < price){
            console.log(`Cannot buy ${product}. Product value: ${diff}`);
        }else{
            console.log(`${product} bought. Money left: ${price.toFixed(2)}`);
        }
    }
}
sumOfLetters(['apple', 2, 20])

 

 

Тагове:
0
Programming Basics
ivanov224 avatar ivanov224 8 Точки

Привет, колега. Не пускай код така, че трудно се чете. Ползвай pastebin, примерно, и давай линк.

1. Във for loop-а, трябва да инкрементираш index, не product. Тоест трябва да е index++, не product++

2. if-a ти в цикъла не трябва да е с логическо И, а с ИЛИ. Тоест ||, а не &&

3. Умножаването по контролното число според мен е след цикъла, а не на всяка буква.

4. Този diff както си го написал, реално умножава price * 2, а предполагам идеята ти е била да събереш 0 + price или нещо подобно. Като цяло е грешно.

5. Също и console.log-овете са ти грешни. В първия Product value: ${diff} не е diff, това което трябва да покажеш, а самата стойност на продукта, тоест price (виж условието на задачата). Във втория Money left: ${price.toFixed(2)} тука ти трябва колко пари са ти останали след покупката, тоест budget - price. (пак прочети условието на задачата)

Не искам да ти давам редактиран код, затова само пускам насоки, а ти ще си пишеш кода сам. Успех и поздрави. :)

0
juri80 avatar juri80 2 Точки

Благодаря много! :)

0