It showing "false"


#1

var cashRegister = {
total:0,
//Dont forget to add your property
lastTransactionAmount : this.total ,

add: function(itemCost) {
this.total += itemCost;
this.lastTransactionAmount = itemCost;
},
scan: function(item,quantity) {
switch (item) {
case "eggs": this.add(2 * quantity); break;
case "milk": this.add(1.23 * quantity); break;
case "magazine": this.add(4.99 * quantity); break;
case "chocolate": this.add(0.45 * quantity); break;
}
return true;
},

//Add the voidLastTransaction Method here
voidLastTransaction : function(){
this.total -= this.lastTransactionAmount;
this.lastTransactionAmount = 0;

}

};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',1);
cashRegister.scan('chocolate',1);

//Void the last transaction and then add 3 instead
cashRegister.voidLastTransaction();
cashRegister.scan('chocolate',3);
cashRegister.scan('eggs',3);
cashRegister.scan('milk',3);
cashRegister.scan('magazine',3);

//Show the total bill
console.log('Your bill is '+cashRegister.total);

it is showing oops try again false
Thanks in advance.


#2

@digitaljumper42880,

You will have to use the following scan order,
to get the correct amount which is used by the code checker...

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',1);
cashRegister.scan('chocolate',4);

//Void the last transaction and then add 3 instead
cashRegister.voidLastTransaction();
cashRegister.scan('chocolate',3);

//Show the total bill
console.log('Your bill is '+cashRegister.total);

#3

@leonhard_wettengmx_n
I tried your suggestion but still it is showing the same error. Kindly provide me the full code if possible. Thanks.


#4

@digitaljumper42880,
Please present the code you are using....and mention the eventual ERROR or Oops-message..


#5

@leonhard_wettengmx_n

Here is the code I used.
and the error is "Oops, try again. false". even it is showing result : Your bill is 9.57

var cashRegister = {
total:0,
//Dont forget to add your property
lastTransactionAmount : this.total ,

add: function(itemCost) {
this.total += itemCost;
this.lastTransactionAmount = itemCost;
},
scan: function(item,quantity) {
switch (item) {
case "eggs": this.add(2 * quantity); break;
case "milk": this.add(1.23 * quantity); break;
case "magazine": this.add(4.99 * quantity); break;
case "chocolate": this.add(0.45 * quantity); break;
}
return true;
},

//Add the voidLastTransaction Method here
voidLastTransaction : function(){
this.total -= this.lastTransactionAmount;
this.lastTransactionAmount = 0;

}

};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',1);
cashRegister.scan('chocolate',4);

//Void the last transaction and then add 3 instead
cashRegister.voidLastTransaction();
cashRegister.scan('chocolate',3);

//Show the total bill
console.log('Your bill is '+cashRegister.total);

Thanks a lot for helping me.


#6

@digitaljumper42880,
In your switch statement of your scan method
you will have to change eggs case

 case "eggs": this.add(2 * quantity); break;

into

case "eggs": this.add(0.98 * quantity); break;

The required amount will have to be 8.55