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

Изпитна задача магазин за играчки - от темата Условни конструкции JavaScript

Примерна изпитна задача
9. Магазин за детски играчки
Петя има магазин за детски играчки. Тя получава голяма поръчка, която трябва да изпълни. С парите, които
ще спечели иска да отиде на екскурзия. Да се напише програма, която пресмята печалбата от поръчката.
Цени на играчките:
 Пъзел - 2.60 лв.
 Говореща кукла - 3 лв.
 Плюшено мече - 4.10 лв.
 Миньон - 8.20 лв.
 Камионче - 2 лв.
Ако поръчаните играчки са 50 или повече магазинът прави отстъпка 25% от общата цена. От спечелените
пари Петя трябва да даде 10% за наема на магазина. Да се пресметне, дали парите ще ѝ стигнат да отиде на
екскурзия. 

Вход

От конзолата се четат 6 реда:
1. Цена на екскурзията - реално число в интервала [1.00 … 10000.00]
2. Брой пъзели - цяло число в интервала [0… 1000]
3. Брой говорещи кукли - цяло число в интервала [0 … 1000]
4. Брой плюшени мечета - цяло число в интервала [0 … 1000]
5. Брой миньони - цяло число в интервала [0 … 1000]
6. Брой камиончета - цяло число в интервала [0 … 1000]
Изход

На конзолата се отпечатва:
 Ако парите са достатъчни се отпечатва:
o "Yes! {оставащите пари} lv left."
 Ако парите НЕ са достатъчни се отпечатва:
o "Not enough money! {недостигащите пари} lv needed."
Резултатът трябва да се форматира до втория знак след десетичната запетая.

Пробвах следното решение в Judge, и ми дава 90т от 100 и се чудя къде е грешката:

function solve (input)

{

    let tripprice= Number(input.shift());

    let puzzles= Number(input.shift());

    let dolls= Number(input.shift());

    let teddyBears= Number(input.shift());

    let minions= Number(input.shift());

    let trucks= Number(input.shift());

    let totalpricetoys= (puzzles*2.60 + dolls*3 + teddyBears*4.10 + minions*8.20 + trucks*2);

    let totalToys= (puzzles+dolls+teddyBears+minions+trucks);

    let totalincome= 0;

    if ( totalToys >=50 ){

        totalpricetoys = (totalpricetoys  -  totalpricetoys * 0.25);

        totalincome = (totalpricetoys*0.90);

    } else {    

        totalpricetoys = totalpricetoys;

        totalincome = (totalpricetoys*0.90);

    }

    if ( totalincome > tripprice ){

        console.log (`Yes! ${(Math.abs(totalincome - tripprice)).toFixed(2)} lv left.` );

    }

      else if (tripprice > totalincome) {

         console.log ( `Not enough money! ${(Math.abs(tripprice - totalincome )).toFixed(2)} lv needed.`);

      }

}

solve ([ 

40.8,

20,

25,

30,

50,

10,  

 ]);

 

Тагове:
willystyle avatar willystyle 1585 Точки

 totalincome >= tripprice

0
vladovip avatar vladovip 3 Точки

Благодаря!

1