This forum is now read-only. Please use our new forums! Go to forums

0 points
Submitted by pulkitnandan
about 10 years

Building a Cash register

I’m not able to understand why the code is failing to pass. I believe it to be a bug in the interface or system else please correct or put some light about what could be possibly wrong. Problem is at http://www.codecademy.com/courses/close-the-super-makert/0/5?curriculum_id=506324b3a7dffd00020bf661

Solution I added was

var cashRegister = {
total:0,
lastTransactionAmount: 0,
quantity: 0,
//Dont forget to add your property
add: function(itemCost) {
    this.total +=  itemCost;
    lastTransactionAmount = 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();

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

Answer 540916a1282ae35398001c1b

0 votes

Permalink

take out your lastTransactionAmount and Quantity variable. you only need them in your scan function. Also, your code seems a bit complex try simplifying your math to only one line… Hope that helps.

Here’s my code that passed.

var cashRegister = {
total:0,
//Dont forget to add your property
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(itemCost)
{
    this.total -= itemCost;
}

};

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

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

points
Submitted by Andrew Aquino
about 10 years