5 Bleep bleep


#1

Hi guys
Merry Xmas and some one can have a check here?? i get this error
Oops, try again. false

var cashRegister = {
total:0,
lastTransactionAmount:0,
//Dont forget to add your property
add: function(itemCost) {
this.total += itemCost;
this.lastTransaction = itemCost;
},
voidLastTransaction: function(){
this.total = this.total-this.lastTransactionAmount;

    },


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

};

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


#2

voidLastTransaction:function(){
this.total -= this.lastTransactionAmount;
}

you forgot to put -= operator


#3

thanks for your answer....but then i found the error....


#4
var cashRegister = {
    total:0,
    lastTransactionAmount:0,
    //Dont forget to add your property
    add: function(itemCost) {
        this.total += itemCost;
        this.lastTransactionAmount = itemCost;
    },
    voidLastTransaction: function(){
        this.total -= this.lastTransactionAmount;
    },


    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;
        }
    }
//Add the voidLastTransaction Method here

};

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

Revise this code, before proceeding, see your differences so you can solve the next exercise without needing help :smile:


#5

Hi @chipninja28228! I had the same problem as you and the error was in a variable reference typo:

//...
add: function(itemCost) {
        this.total += itemCost;
       this.lastTransanctionAmount = itemCost; // There's an additional 'n' in the word 'Transaction'
}
//...

As soon as I removed the extra 'n' it worked...I was able to figure it out after revising my code with the one provided by @xeiad_ahmed_amer so kudos to him.