Професионална програма
Loading...
dninov81 avatar dninov81 1 Точки

Проблем със задача New House

Колеги, може ли да ми кажете защо Judge ми дава няколко грешни отговора на тази задача. Пробвах я с много входове и работи правилно във Visual Studio.

function result(flowers, num, buget) {
  num = Number(num);
  buget = Number(buget);
  let finalPrice = 0;

  switch (flowers) {
    case "Roses":
      if (num > 80) {
        finalPrice =  (num * 5) * 0.9;
      } else {
        finalPrice = num * 5;
      }
      break;
    case "Dahlias":
      if (num > 90) {
        finalPrice = (num * 3.8 )* 0.85;
      } else {
        finalPrice = num * 3.8;
      }
      break;
    case "Tulips":
      if (num > 80) {
        finalPrice = (num * 2.8 )* 0.85;
      } else {
        finalPrice = num * 2.8;
      }
      break;
   case "Narcissus":
      if (num < 120) {
        finalPrice = (num * 3) * 1.15;
      } else {
        finalPrice = num * 3;
      }
      break;
  case "Gladiolus":
      if (num < 80) {
        finalPrice = (num * 2.5) * 1.2;
      } else {
        finalPrice = num * 2.5;
      }
      break;
   default:
        console.log("error");
  }
if (buget > finalPrice){
  console.log(`Hey, you have a great garden with ${num} ${flowers} and ${(buget-finalPrice).toFixed(2)} leva left.`);
}
else {
  console.log(`Not enough money, you need ${(finalPrice-buget).toFixed(2)} leva more.`);
}
}

Тагове:
0
Programming Basics with JavaScript 06/05/2020 06:31:24
mark79 avatar mark79 635 Точки

Здравей,

грешката ти е при проверката в края, по условие, ако бюджета е достатъчен, т.е. може е равен със стойността на цветята. Видимо нямаш нужда от default-a, както и не е лоша идея да изнесеш умножението за бров цветя извън switch-a, а в него само да смяташ цената за всяко цвете.

Поздрави :)

0
dninov81 avatar dninov81 1 Точки

Мерси много! Това определено решава проблема!  yes

0