From 3862d6779a907d6b3870c502cf5fb7a82edc881a Mon Sep 17 00:00:00 2001 From: theo tran Date: Wed, 11 Nov 2015 19:56:32 -1000 Subject: [PATCH 1/2] working on add function --- index.html | 38 +++++++++++++++ js/calculator.js | 50 ++++++++++++++++++++ js/cash_register.js | 112 ++++++++++++++++++++++++++++++++++++++++++++ npm-debug.log | 20 ++++++++ 4 files changed, 220 insertions(+) create mode 100644 npm-debug.log diff --git a/index.html b/index.html index e69de29..f9651e3 100644 --- a/index.html +++ b/index.html @@ -0,0 +1,38 @@ + + + + + Cash Register + + +
+


+ + + + +

+ + + + +

+ + + + +

+ + + + +

+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/js/calculator.js b/js/calculator.js index e69de29..8220df8 100644 --- a/js/calculator.js +++ b/js/calculator.js @@ -0,0 +1,50 @@ + +var calculatorModule = (function () { + //total is private + var total = 0; + var calculator = { + + + clear: function (){ + this.total = 0; + return total; + }, + + add: function (num){ + total += num; + console.log(total); + return total; + }, + + subtract: function (num){ + this.total -= num; + return total; + }, + + divide: function (num){ + this.total /= num; + return total; + }, + + multiply: function (num){ + this.total *= num; + return total; + }, + + equals: function (){ + return total; + }, + + total: function (num) { + return total = num; + + } + + }; +//anything after the return is a public variable +return calculator; + +})(); + + + diff --git a/js/cash_register.js b/js/cash_register.js index e69de29..00df889 100644 --- a/js/cash_register.js +++ b/js/cash_register.js @@ -0,0 +1,112 @@ +console.log("test"); + + + +window.register = (function () { + var calc = calculatorModule; + //var saved; + var op = null; + var balance = 0; + var display = document.getElementById("displayBox"); + document.getElementById("b7").addEventListener('click', function(){ + + concatDisplayNumbers(7); + add(7); + }); + document.getElementById("b8").addEventListener('click', function(){ + validateInput(); + concatDisplayNumbers(8); + }); + document.getElementById("b9").addEventListener('click', function(){ + validateInput(); + concatDisplayNumbers(9); + }); + document.getElementById("b4").addEventListener('click', function(){ + concatDisplayNumbers(4); + }); + document.getElementById("b5").addEventListener('click', function(){ + concatDisplayNumbers(5); + }); + document.getElementById("b6").addEventListener('click', function(){ + concatDisplayNumbers(6); + }); + document.getElementById("b1").addEventListener('click', function(){ + concatDisplayNumbers(1); + }); + document.getElementById("b2").addEventListener('click', function(){ + concatDisplayNumbers(2); + }); + document.getElementById("b3").addEventListener('click', function(){ + concatDisplayNumbers(3); + }); + document.getElementById("b0").addEventListener('click', function(){ + concatDisplayNumbers(0); + }); + document.getElementById("b00").addEventListener('click', function(){ + concatDisplayNumbers('00'); + }); + document.getElementById("decimal").addEventListener('click', function(){ + concatDisplayNumbers('.'); + }); + document.getElementById("depositCash").addEventListener('click', function(){ + + }); + document.getElementById("b+").addEventListener('click', function(){ + var displayVal = validateInput(display.innerHTML); + calc.add(displayVal); + //op = "add"; + display.innerHTML = ""; + + document.getElementById("clear").addEventListener('click', function(){ + clearFunc(); + + }); + + + + + }); + document.getElementById("b=").addEventListener('click', function(){ + display.innerHTML = calc.equals(); + + }); + + + + +function concatDisplayNumbers (number) { + if (display.innerHTML !== " ") { + display.innerHTML += number; + } else { + console.log("Display is empty"); + display.innerHTML = number; + } +} + + +function clearFunc () { + display.innerHTML = " "; +} + + +function validateInput (numberString) { + console.log(typeof display.innerHTML); + var number = parseFloat(numberString); + if (isNaN(number)) { + return 0; + } else { + return number; + } + + +} + + +})(); + + + + + + + \ No newline at end of file diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..4356289 --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,20 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'test' ] +2 info using npm@2.14.2 +3 info using node@v4.0.0 +4 verbose config Skipping project config: /Users/theotran/.npmrc. (matches userconfig) +5 verbose stack Error: ENOENT: no such file or directory, open '/Users/theotran/package.json' +5 verbose stack at Error (native) +6 verbose cwd /Users/theotran/Devleague/Cash-Register +7 error Darwin 12.2.1 +8 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "test" +9 error node v4.0.0 +10 error npm v2.14.2 +11 error path /Users/theotran/package.json +12 error code ENOENT +13 error errno -2 +14 error syscall open +15 error enoent ENOENT: no such file or directory, open '/Users/theotran/package.json' +15 error enoent This is most likely not a problem with npm itself +15 error enoent and is related to npm not being able to find a file. +16 verbose exit [ -2, true ] From 3fd8cefbb795548403d94545cf9763d590f842db Mon Sep 17 00:00:00 2001 From: theo tran Date: Wed, 11 Nov 2015 22:38:41 -1000 Subject: [PATCH 2/2] got the add function to work, doing a pull request --- index.html | 4 ++-- js/calculator.js | 8 ++++---- js/cash_register.js | 38 ++++++++++++++++++++++++++------------ 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/index.html b/index.html index f9651e3..067d27a 100644 --- a/index.html +++ b/index.html @@ -20,12 +20,12 @@ - +

- +

diff --git a/js/calculator.js b/js/calculator.js index 8220df8..d9d5c9e 100644 --- a/js/calculator.js +++ b/js/calculator.js @@ -6,7 +6,7 @@ var calculatorModule = (function () { clear: function (){ - this.total = 0; + total = 0; return total; }, @@ -17,17 +17,17 @@ var calculatorModule = (function () { }, subtract: function (num){ - this.total -= num; + total -= num; return total; }, divide: function (num){ - this.total /= num; + total /= num; return total; }, multiply: function (num){ - this.total *= num; + total *= num; return total; }, diff --git a/js/cash_register.js b/js/cash_register.js index 00df889..1fc6c31 100644 --- a/js/cash_register.js +++ b/js/cash_register.js @@ -8,10 +8,11 @@ window.register = (function () { var op = null; var balance = 0; var display = document.getElementById("displayBox"); + + document.getElementById("b7").addEventListener('click', function(){ - concatDisplayNumbers(7); - add(7); + }); document.getElementById("b8").addEventListener('click', function(){ validateInput(); @@ -51,24 +52,37 @@ window.register = (function () { document.getElementById("depositCash").addEventListener('click', function(){ }); - document.getElementById("b+").addEventListener('click', function(){ + + //addition + document.getElementById("plus").addEventListener('click', function(){ var displayVal = validateInput(display.innerHTML); calc.add(displayVal); - //op = "add"; + op = "add"; display.innerHTML = ""; - - document.getElementById("clear").addEventListener('click', function(){ - clearFunc(); - }); - - + //subtraction + document.getElementById("minus").addEventListener('click', function(){ + var displayVal = validateInput(display.innerHTML); + calc.subtract(displayVal); + op = "subtract"; + display.innerHTML = ""; }); + document.getElementById("b=").addEventListener('click', function(){ + var displayVal = validateInput(display.innerHTML); + if (op == "add") { + calc.add(displayVal); + } display.innerHTML = calc.equals(); + calc.clear(); + + }); + + document.getElementById("clear").addEventListener('click', function(){ + clearFunc(); }); @@ -85,12 +99,12 @@ function concatDisplayNumbers (number) { function clearFunc () { - display.innerHTML = " "; + console.log("clearrrr"); + display.innerHTML = ""; } function validateInput (numberString) { - console.log(typeof display.innerHTML); var number = parseFloat(numberString); if (isNaN(number)) { return 0;