7/7 - Returning "Oops, false."


#1

This is by far the most frustrating exercise I've done so far on CodeAcademy. My code is simply returning "Oops, false" without offering any guidance as to where the error might be. My code is below, can anyone help? Thanks to everyone who has helped me out on this exercise by the way, wary I've posted a fair bit on here the last couple of days :smile:

function StaffMember(name,discountPercent){
this.name = name;
this.discountPercent = discountPercent;
}

var sally = new StaffMember("Sally",5);
var bob = new StaffMember("Bob",10);

// Create yourself again as 'me' with a staff discount of 20%
var me = new StaffMember("Pete", 20);

var cashRegister = {
total:0,
lastTransactionAmount: 0,
add: function(itemCost){
this.total += (itemCost || 0);
this.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;
},
voidLastTransaction : function(){
this.total -= this.lastTransactionAmount;
this.lastTransactionAmount = 0;
},
// Create a new method applyStaffDiscount here

applyStaffDiscount: function(employee){
this.total -= this.total * (employee.discountPercent /100);
}
};


#2

@emmspete

I have run your code in Chrome and it works fine (not getting the Oops, false). See screenshot (sorry for the weird shape, running dual monitor).:

Worth trying to use a different browser and checking if you have ad blockers or other stuff messing with your browser.

Please like my post if I have helped you. Thanks!


#3

Hi there, thanks for this. I just tried using a different browser and a cleared my cache etc on the one that I was using previously and it is still returning the Oops message. Any other thoughts?


#4

Wonder if you have ad block or similar running on the system?!?!


#5

Take this code:D

function StaffMember(name,discountPercent){
this.name = name;
this.discountPercent = discountPercent;
}

var sally = new StaffMember("Sally",5);
var bob = new StaffMember("Bob",10);

// Create yourself again as 'me' with a staff discount of 20%
var me = new StaffMember("Pete", 20);

var cashRegister = {
total:0,
lastTransactionAmount: 0,
add: function(itemCost){
this.total += (itemCost || 0);
this.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;
},
voidLastTransaction : function(){
this.total -= this.lastTransactionAmount;
this.lastTransactionAmount = 0;
},
// Create a new method applyStaffDiscount here
applyStaffDiscount: function(employee){
this.total -= this.total * (employee.discountPercent /100);
}

};

cashRegister.scan('eggs',1);
cashRegister.scan('milk',1);
cashRegister.scan('magazine',3);
// Apply your staff discount by passing the 'me' object
// to applyStaffDiscount
cashRegister.applyStaffDiscount(me);

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


#6

what does -= and += express again?


#7

someVar -= someValue; is the same like someVar = someVar - someValue;


#8

Hi!

Can U link the hole code?
I wrote this first:

cashRegister.applyStaffDiscount("me");
I got the same error. I deleted the " signs and I got an green pipe.
cashRegister.applyStaffDiscount(me);

I hope it can help

Sir Random Name