Cash Register Code

var cashRegister = {
total:0,
lastTransactionAmount:0,

add: function(itemCost) {
this.total += itemCost;
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;
}
};

EXAMPLE: Buying 1 egg, 1 milk, 1 magazine, and 3 chocolate. Accidentally scanned one extra chocolatay. Fix it dummy.
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);

Advertisements

That feel when it works the first time

There is some ridiculously satisfying feeling that occurs when the code you type decides it works with no errors the first time you try it out. Albeit, I’m writing some pretty n00b code; it still feels good man.

From the CodeAcademy JavaScript Course: object/array/loop stuff used to build the “list all contacts” function in an address book.

var bob = {
firstName: “Bob”,
lastName: “Jones”,
phoneNumber: “(650) 777-7777”,
email: “bob.jones@example.com”
};

var mary = {
firstName: “Mary”,
lastName: “Johnson”,
phoneNumber: “(650) 888-8888”,
email: “mary.johnson@example.com”
};

var contacts = [bob, mary];

function printPerson(person) {
console.log(person.firstName + ” ” + person.lastName);
}

var list = function() {
var contactsLength = contacts.length;
for (i=0; i<contactsLength; i++) {
printPerson(contacts[i]);
}
};

list();