mercredi 25 mai 2016

if condition not executing past second block

I am trying to work on this problem (in JavaScript first), later I will have to convert to C for CS50, but my output is stuck after the 2nd if statement. In an idea scenario, the problem would work until it reaches 0. The problem is occurring when one of the conditions is not being met and it jumps to the following if/else statement ...but I am not sure why is not computing.

function greedy(){
  var change = prompt("How much do I owe you? ");
  var counter = 0;
  var div, rem;
  var quarter = 0.25;
  var dime = 0.10;
  var nickel = 0.5;
  var penny = 0.1;
  if (change > quarter){
    div = Math.floor(change / quarter);
    rem = parseFloat((change % quarter).toFixed(3));
    counter += div;
      console.log(counter);
      console.log(rem);
  } 
  if (rem > dime && rem !== 0){
    div = Math.floor(rem / dime);
    rem = parseFloat((rem % dime).toFixed(3));
    counter += div;
    console.log(counter);
    console.log(rem);
  }
  else if (rem > nickel && rem !== 0){
    div = Math.floor(rem / nickel);
    rem = parseFloat((rem % nickel).toFixed(3));
    counter += div;
    console.log(counter);
    console.log(rem);
  } 
  else if (rem > penny && rem !== 0) {
    div = Math.floor(rem / penny);
    rem = parseFloat((rem % penny).toFixed(3));
    counter += div;
    console.log(counter);
    console.log(rem);
  } else {
    console.log(counter);
  }

  
}

greedy();

Aucun commentaire:

Enregistrer un commentaire