Софтуерно Инженерство
Loading...
+ Нов въпрос
BorislavStoyanov avatar BorislavStoyanov 0 Точки

06. Godzilla vs. Kong

Здравейте, имам проблем с въпросната задача не ми се отговора. Предполгам, че е заради първия if понеже го няма в другите if-oве , но не мога да измисля как да вкарам стойностите в другите if-oве

https://pastebin.com/hEZfzMMD това ми е кода

Тагове:
0
Programming Basics with JavaScript 19/11/2019 12:54:34
katya93 avatar katya93 27 Точки
Best Answer

Здравей, допуснал си няколко грешки.

Това е правилният код:

function solve(input) {
    let budget = Number(input.shift());
    let statist = Number(input.shift());
    let clothesPriceForStatist = Number(input.shift());
 
    let clothesPrice = clothesPriceForStatist * statist;
    let decor = budget * 0.10;
 
    if (statist > 150) { //без =
        clothesPrice = clothesPrice - (clothesPrice * 0.1); //нямаше ;
    }

    let filmCost = decor + clothesPrice;

    if (filmCost <= budget) {
        console.log(`Action!`)
        console.log(`Wingard starts filming with ${(budget - filmCost).toFixed(2)} leva left.`)
    }else {
        console.log(`Not enough money!`)
        console.log(`Wingard needs ${(Math.abs(budget-filmCost)).toFixed(2)} leva more.`)
    }
    // console.log(decor)
    // console.log(clothesPrice)
    // console.log(filmCost)
    }

 

Този ред:

let filmCost = decor + clothesPrice;

Трябва да е след първият if, защото програмата се изпълнява последователно. Тоест, първо влиза във if, изчислява се clothesPrice и се презаписва стойността. Тогава в реда код за filmCost се използва презаписаната стойност на clothesPrice. Иначе, ако стои, както ти го беше поставил над първия if, се взима стойността за clothesPrice отттук:

let clothesPrice = clothesPriceForStatist * statist;

А е правилно стойността да се вземе оттук:

clothesPrice = clothesPrice - (clothesPrice * 0.1); 

Освен това между Action и удивителната, не трябва да има разстояние.

Например грешно: "Action !"

правилно: "Action!"

Същото важи и за разстоянието в другото изречение.

Няма нужда от 2 отделни if-a за (filmCost > budget), достатъчно е да се провери дали (filmCost <= budget) или (else) да се изпише съответният резултат.

Беше пропуснал и една точка и запетая  (;), както и едни скоби () - (не са задължителни, но все пак е по-четливо).

С това решение, постнато по-горе ми дава 100/100.

Надявам се, че отговора ми ще ти е полезен. :)

Поздрави!

0