diff --git a/week-5/eloquent-js-ch3/bean/index.html b/week-5/eloquent-js-ch3/bean/index.html new file mode 100644 index 0000000..0fad007 --- /dev/null +++ b/week-5/eloquent-js-ch3/bean/index.html @@ -0,0 +1,14 @@ + + + + + + + Bean Counter Exercise + + +

Hi there, press F12!

+ + + + \ No newline at end of file diff --git a/week-5/eloquent-js-ch3/bean/main.js b/week-5/eloquent-js-ch3/bean/main.js new file mode 100644 index 0000000..2dc2994 --- /dev/null +++ b/week-5/eloquent-js-ch3/bean/main.js @@ -0,0 +1,25 @@ +// Your code here. +function countBs(x){ + let b = 0; + for(i = 0; i < x.length; i++){ + if (x.charAt(i) === "B") { + b += 1; + } + } + return b; +} + +function countChar(x,y) { + let c = 0; + for(i=0; i < x.length; i++){ + if(x.charAt(i) === y) { + c += 1; + } + } + return c; +} + +console.log(countBs("BBC")); +// → 2 +console.log(countChar("kakkerlak", "k")); +// → 4 \ No newline at end of file diff --git a/week-5/eloquent-js-ch3/minimum/index.html b/week-5/eloquent-js-ch3/minimum/index.html new file mode 100644 index 0000000..2165e88 --- /dev/null +++ b/week-5/eloquent-js-ch3/minimum/index.html @@ -0,0 +1,14 @@ + + + + + + + Minimum Exerise + + +

Hi there, press F12!

+ + + + \ No newline at end of file diff --git a/week-5/eloquent-js-ch3/minimum/main.js b/week-5/eloquent-js-ch3/minimum/main.js new file mode 100644 index 0000000..eed72b8 --- /dev/null +++ b/week-5/eloquent-js-ch3/minimum/main.js @@ -0,0 +1,6 @@ +function min(x,y) { + return Math.min(x,y); +} +console.log(min(0, 10)); + +console.log(min(0, -10)); \ No newline at end of file diff --git a/week-5/eloquent-js-ch3/recursion/index.html b/week-5/eloquent-js-ch3/recursion/index.html new file mode 100644 index 0000000..3aa88d4 --- /dev/null +++ b/week-5/eloquent-js-ch3/recursion/index.html @@ -0,0 +1,14 @@ + + + + + + + Recursion Exercise + + +

Hi there, press F12!

+ + + + \ No newline at end of file diff --git a/week-5/eloquent-js-ch3/recursion/main.js b/week-5/eloquent-js-ch3/recursion/main.js new file mode 100644 index 0000000..2aab960 --- /dev/null +++ b/week-5/eloquent-js-ch3/recursion/main.js @@ -0,0 +1,32 @@ +// Your code here. +function isEven(x) { + if (x == 0){ + return true; + } + else if (x == 1){ + return false; + } + else if (x < 0) { + return isEven(-x); + } + else { + return isEven(x-2); + } +} + +// Or +// function isEven(x){ +// if (x % 2 == 0){ +// return true; +// } +// else { +// return false; +// } +// } + +console.log(isEven(50)); +// → true +console.log(isEven(75)); +// → false +console.log(isEven(-1)); +// → ?? \ No newline at end of file diff --git a/week-5/tip-calculator-master/.gitignore b/week-5/tip-calculator-master/.gitignore new file mode 100644 index 0000000..c667e8f --- /dev/null +++ b/week-5/tip-calculator-master/.gitignore @@ -0,0 +1,27 @@ +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk \ No newline at end of file diff --git a/week-5/tip-calculator-master/README.md b/week-5/tip-calculator-master/README.md new file mode 100644 index 0000000..28aa4ec --- /dev/null +++ b/week-5/tip-calculator-master/README.md @@ -0,0 +1,18 @@ +# Tip Calculator +An exercise in JavaScript function definitions and return values. Course: DMD 3475. + +## Introduction +Our tip calculator application is almost complete. Our function named `updateValues()` will fetch the values that were input by the user. + +At that point, the values are passed as arguments to two functions named `calculateTipPerPerson()` and `calculateTotalPerPerson()`. The values that are returned by each function are used to update the DOM. + +## Instructions + +1. Define both required functions: `calculateTipPerPerson()` and `calculateTotalPerPerson()`. +2. Each function should accept the 3 arguments being passed to them within the `updateValues()` function. +3. Using those values, calculate and return the appropriate answer. +4. Extra credit: Properly round the dollars and cents that are returned by your functions. + +## Helpful Information +* Search Google for "Tip Calculator" to see the desired functionality for this application. +* The `calculateTotalPerPerson()` function should return a value that includes the tip. \ No newline at end of file diff --git a/week-5/tip-calculator-master/css/main.css b/week-5/tip-calculator-master/css/main.css new file mode 100644 index 0000000..6bfd182 --- /dev/null +++ b/week-5/tip-calculator-master/css/main.css @@ -0,0 +1,28 @@ +body { + display: flex; + align-items: center; + justify-content: center; + min-height: 100vh; +} + +.card { + width: 400px; + max-width: 100%; +} + +.card-image img { + height: 100px; + object-fit: cover; + object-position: center; +} + +.card-content .row { + margin: 0; +} + + +.card .card-image .card-title { + font-weight: bold; + text-shadow: 2px 2px 3px black; + padding-bottom: 12px; +} \ No newline at end of file diff --git a/week-5/tip-calculator-master/images/brooke-lark-pGM4sjt_BdQ-unsplash.jpg b/week-5/tip-calculator-master/images/brooke-lark-pGM4sjt_BdQ-unsplash.jpg new file mode 100644 index 0000000..1438da5 Binary files /dev/null and b/week-5/tip-calculator-master/images/brooke-lark-pGM4sjt_BdQ-unsplash.jpg differ diff --git a/week-5/tip-calculator-master/images/camila-melim-yHQfZ9TuZn4-unsplash.jpg b/week-5/tip-calculator-master/images/camila-melim-yHQfZ9TuZn4-unsplash.jpg new file mode 100644 index 0000000..54a1fe1 Binary files /dev/null and b/week-5/tip-calculator-master/images/camila-melim-yHQfZ9TuZn4-unsplash.jpg differ diff --git a/week-5/tip-calculator-master/images/claudia-crespo-ewOrvEa87j4-unsplash.jpg b/week-5/tip-calculator-master/images/claudia-crespo-ewOrvEa87j4-unsplash.jpg new file mode 100644 index 0000000..f83d585 Binary files /dev/null and b/week-5/tip-calculator-master/images/claudia-crespo-ewOrvEa87j4-unsplash.jpg differ diff --git a/week-5/tip-calculator-master/index.html b/week-5/tip-calculator-master/index.html new file mode 100644 index 0000000..656af4c --- /dev/null +++ b/week-5/tip-calculator-master/index.html @@ -0,0 +1,58 @@ + + + + + + Tip Calculator + + + + + + + +
+
+ + Tip Calculator +
+
+
+
+
+
+ attach_money + + +
+
+ pie_chart + + +
+
+ group_add + + +
+
+
+
+
+
+
+
+ Tip (per person): $ +
+
+ Total (per person): $ +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/week-5/tip-calculator-master/js/script.js b/week-5/tip-calculator-master/js/script.js new file mode 100644 index 0000000..80e82b2 --- /dev/null +++ b/week-5/tip-calculator-master/js/script.js @@ -0,0 +1,58 @@ +/** + * Get references to each of the form inputs + */ +let total = document.querySelector('#total'); +let tip = document.querySelector('#tip'); +let people = document.querySelector('#people'); + +/** + * Whenever the fields are updated, we call + * the updateValues function. + */ +total.addEventListener('change', updateValues); +total.addEventListener('keyup', updateValues); +tip.addEventListener('change', updateValues); +tip.addEventListener('keyup', updateValues); +people.addEventListener('change', updateValues); +people.addEventListener('keyup', updateValues); + +/** + * We will need references for the span tags + * that we will use to output our results. + */ +let tipOutput = document.querySelector(".tipOutput"); +let totalOutput = document.querySelector(".totalOutput"); + +/** + * This function is run every time an input is changed + * by a user. + */ +function updateValues(event){ + + // Get the latest values from our form inputs + let totalValue = total.value; + let tipValue = tip.value; + let peopleValue = people.value; + + // Update the values on the screen + tipOutput.innerText = calculateTipPerPerson(totalValue, tipValue, peopleValue); + totalOutput.innerText = calculateTotalPerPerson(totalValue, tipValue, peopleValue); +} + +/** + * Your code goes down here ... + * @todo Write functions for calculateTipPerPerson() and calculateTotalPerPerson() + */ +function calculateTipPerPerson(totalValue,tipValue, peopleValue){ + tipOutput = (totalValue * (tipValue/100)) / peopleValue; + console.log(tipOutput); + return tipOutput; +} + +function calculateTotalPerPerson(totalValue,tipValue, peopleValue){ + let tipAdd = Number(totalValue) * (tipValue/100); + totalOutput = (Number(totalValue) + tipAdd) / peopleValue; + console.log(tipAdd); + console.log(totalOutput); + return totalOutput; +} \ No newline at end of file