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

Address Book Code

That last bit of the code was tough to understand.

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

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

/*Create a search function
then call it passing “Jones”*/
var search = function (lastName) {
var contactsLength2 = contacts.length;
for (i=0; i<contactsLength2; i++) {
if (lastName === contacts[i].lastName) {
printPerson(contacts[i]);
}
}
};

search(“Jones”);

var add = function (firstName, lastName, email, phoneNumber) {
var contact = {
firstName: firstName,
lastName: lastName,
email: email,
phoneNumber: phoneNumber
};
contacts[contacts.length] = contact;
};

add(“Dirk”, “Nowitzki”, “Dirk@Nowitzki.com”, “(123) 234-1231”);

list();

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