Aliendreamer

coffee mashine

Jan 17th, 2019
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function coffeeMachine(input){
  2.  
  3.     const milk="milk";
  4.     const caffeine="caffeine";
  5.     const decaf="decaf";
  6.     const sugarPrice=0.1;
  7.     const milkCost=0.1;
  8.     let totalIncome=0;
  9.    input.forEach(element => {
  10.     let e=element.split(',').map((item)=>item.trim());
  11.     totalIncome+=getDrinkInfo(e);
  12.    });
  13.    let finalReport=`Income Report: ${totalIncome.toFixed(2)}$`;
  14.    console.log(finalReport);
  15.    function getDrinkInfo(element){
  16.     let coins=Number(element[0]);
  17.     let drinkType=element[1];
  18.     let milkAdded=element.includes(milk);
  19.     let defacCoffee=element.includes(decaf);
  20.     let caffeineCoffee=element.includes(caffeine);
  21.     let sugar=parseInt(element.pop());
  22.     let sugarForCurrentDrink=sugar!=0?sugarPrice:0;
  23.     let price;
  24.    if(defacCoffee){
  25.       price=0.90;
  26.    }
  27.    else if(caffeineCoffee){
  28.        price=0.80;
  29.    }
  30.    else{
  31.        price=0.80;
  32.    }
  33.  
  34.    if(milkAdded){
  35.     let newPrice=price+(price*milkCost);      
  36.     price=Number(newPrice.toFixed(1))+sugarForCurrentDrink;
  37.    }else{
  38.    price=price+sugarForCurrentDrink;
  39.    }
  40.    let difference=coins-price;
  41.    if(difference>=0){
  42.     let result=`You ordered ${drinkType}. Price: ${price.toFixed(2)}$ Change: ${difference.toFixed(2)}$`;
  43.    
  44.     console.log(result);
  45.     return price;
  46.    }
  47.    else{
  48.     let result=`Not enough money for ${drinkType}. Need ${Math.abs(difference).toFixed(2)}$ more.`;
  49.     console.log(result);
  50.     return 0;
  51.    }
  52.  }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment