5. Bleep Bleep

<PLEASE USE THIS TEMPLATE TO HELP YOU CREATE A GREAT POST!>

<Below this line, add a link to the EXACT exercise that you are stuck at.>

https://www.codecademy.com/courses/close-the-super-makert/0/5?curriculum_id=506324b3a7dffd00020bf661#

<Below this line, in what way does your code behave incorrectly? Include ALL error messages.>

The error message reads: Oops, try again. There was a problem with your syntax.

Please help! I feel like it might be a VERY small little mistake, but I can’t catch it.

```

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

add: function(itemCost) {
    this.total +=  itemCost;
},
scan: function(item,quantity) {
    switch (item) {
    case "eggs": this.add(0.98 * 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;
};

};

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);

<do not remove the three backticks above>

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

add: function(itemCost) {
    this.total +=  itemCost;
},
scan: function(item,quantity) {
    switch (item) {
    case "eggs": this.add(0.98 * 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;
}; <----------------------------------------------------------------Remove semicolon-----------------------------------------------

};

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);

Hoped that helped

Peter

Thanks, that made a difference, but the error message says: “Oops, try again. false.”

The hint says “each time add runs, change the value of lastTransactionAmount to equal the itemCost so that lastTransactionAmount always refers to the cost of the last transaction” so I also modified the add function a little:

add: function(itemCost) {
this.total += itemCost;
this.lastTransactionAmount = itemCost;
},

This worked for me. Hope it helps.

Oh! Thank you SO much! This makes the code seem a lot more logical. Thanks!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.