From ea5c2a300d11a92965d94c85d0db4000ab69bf13 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 14 Dec 2021 15:27:31 -0700 Subject: [PATCH 1/5] lab-01 v2 --- Code/Austen/03-js/lab-01/{ => v1}/index.html | 0 .../03-js/lab-01/{ => v1}/unit-converter.js | 0 Code/Austen/03-js/lab-01/v2/index.html | 18 ++++++++++ Code/Austen/03-js/lab-01/v2/unit-converter.js | 35 +++++++++++++++++++ 4 files changed, 53 insertions(+) rename Code/Austen/03-js/lab-01/{ => v1}/index.html (100%) rename Code/Austen/03-js/lab-01/{ => v1}/unit-converter.js (100%) create mode 100644 Code/Austen/03-js/lab-01/v2/index.html create mode 100644 Code/Austen/03-js/lab-01/v2/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/index.html b/Code/Austen/03-js/lab-01/v1/index.html similarity index 100% rename from Code/Austen/03-js/lab-01/index.html rename to Code/Austen/03-js/lab-01/v1/index.html diff --git a/Code/Austen/03-js/lab-01/unit-converter.js b/Code/Austen/03-js/lab-01/v1/unit-converter.js similarity index 100% rename from Code/Austen/03-js/lab-01/unit-converter.js rename to Code/Austen/03-js/lab-01/v1/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/v2/index.html b/Code/Austen/03-js/lab-01/v2/index.html new file mode 100644 index 00000000..c2eefb1d --- /dev/null +++ b/Code/Austen/03-js/lab-01/v2/index.html @@ -0,0 +1,18 @@ + + + + + + + Unit Converter + + + + + + diff --git a/Code/Austen/03-js/lab-01/v2/unit-converter.js b/Code/Austen/03-js/lab-01/v2/unit-converter.js new file mode 100644 index 00000000..627e147e --- /dev/null +++ b/Code/Austen/03-js/lab-01/v2/unit-converter.js @@ -0,0 +1,35 @@ +const roundAccurately = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + +function convert(unitFrom, unitTo, amount, rates) { + for (let i = 0; i < rates.length; i++) { + if (unitFrom === rates[i].name) { + let unitrates = rates[i].rates; + for (let i = 0; i < unitrates.length; i++) { + if (unitTo === unitrates[i].name) { + let rate = unitrates[i].rate; + let calc = amount * rate; + return roundAccurately(calc, 3); + } + } + } + } +} +let rates = [ + { + name: "feet", + rates: [ + { name: "inches", rate: 12 }, + { name: "meters", rate: 0.3048 }, + ], + }, + { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, +]; +alert("Welcome to the converter."); +let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); +let amount = prompt("Enter the number of " + unitFrom + ": "); +let unitTo = prompt( + "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" +); +let output = convert(unitFrom, unitTo, amount, rates); +alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 9f37a8639454175052cb278bc7542536af6ec800 Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 15 Dec 2021 18:04:02 -0700 Subject: [PATCH 2/5] resolve conflicts --- Code/Austen/03-js/lab-01/v1/index.html | 18 ---------- Code/Austen/03-js/lab-01/v1/unit-converter.js | 23 ------------ Code/Austen/03-js/lab-01/v2/index.html | 18 ---------- Code/Austen/03-js/lab-01/v2/unit-converter.js | 35 ------------------- 4 files changed, 94 deletions(-) delete mode 100644 Code/Austen/03-js/lab-01/v1/index.html delete mode 100644 Code/Austen/03-js/lab-01/v1/unit-converter.js delete mode 100644 Code/Austen/03-js/lab-01/v2/index.html delete mode 100644 Code/Austen/03-js/lab-01/v2/unit-converter.js diff --git a/Code/Austen/03-js/lab-01/v1/index.html b/Code/Austen/03-js/lab-01/v1/index.html deleted file mode 100644 index c2eefb1d..00000000 --- a/Code/Austen/03-js/lab-01/v1/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Unit Converter - - - - - - diff --git a/Code/Austen/03-js/lab-01/v1/unit-converter.js b/Code/Austen/03-js/lab-01/v1/unit-converter.js deleted file mode 100644 index 57397678..00000000 --- a/Code/Austen/03-js/lab-01/v1/unit-converter.js +++ /dev/null @@ -1,23 +0,0 @@ -function convert(unitFrom, unitTo, amount) { - if (unitFrom === "feet") { - if (unitTo === "inches") { - var output = amount * 12; - } - if (unitTo === "meters") { - var output = Math.round(amount * 0.3048); - } - } - if (unitFrom === "meters") { - if (unitTo === "feet") { - var output = Math.round(amount / 0.3048); - } - } - return output; -} - -alert("Welcome to the converter."); -let unitFrom = prompt("What unit would you like to enter?"); -let amount = prompt("Enter the number of " + unitFrom + ": "); -let unitTo = prompt("What unit would you like to convert to?"); -let output = convert(unitFrom, unitTo, amount); -alert(amount + " " + unitFrom + " = (approx.) " + output + " " + unitTo); diff --git a/Code/Austen/03-js/lab-01/v2/index.html b/Code/Austen/03-js/lab-01/v2/index.html deleted file mode 100644 index c2eefb1d..00000000 --- a/Code/Austen/03-js/lab-01/v2/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - Unit Converter - - - - - - diff --git a/Code/Austen/03-js/lab-01/v2/unit-converter.js b/Code/Austen/03-js/lab-01/v2/unit-converter.js deleted file mode 100644 index 627e147e..00000000 --- a/Code/Austen/03-js/lab-01/v2/unit-converter.js +++ /dev/null @@ -1,35 +0,0 @@ -const roundAccurately = (number, decimalPlaces) => - Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); - -function convert(unitFrom, unitTo, amount, rates) { - for (let i = 0; i < rates.length; i++) { - if (unitFrom === rates[i].name) { - let unitrates = rates[i].rates; - for (let i = 0; i < unitrates.length; i++) { - if (unitTo === unitrates[i].name) { - let rate = unitrates[i].rate; - let calc = amount * rate; - return roundAccurately(calc, 3); - } - } - } - } -} -let rates = [ - { - name: "feet", - rates: [ - { name: "inches", rate: 12 }, - { name: "meters", rate: 0.3048 }, - ], - }, - { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, -]; -alert("Welcome to the converter."); -let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); -let amount = prompt("Enter the number of " + unitFrom + ": "); -let unitTo = prompt( - "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" -); -let output = convert(unitFrom, unitTo, amount, rates); -alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 2f5a844285f8ff18df11be1aeb18b517a861c96a Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Wed, 15 Dec 2021 18:05:19 -0700 Subject: [PATCH 3/5] resolve conflicts --- Code/Austen/js-01/{ => v1}/index.html | 0 Code/Austen/js-01/{ => v1}/unit-converter.js | 0 Code/Austen/js-01/v2/index.html | 18 ++++++++++ Code/Austen/js-01/v2/unit-converter.js | 35 ++++++++++++++++++++ 4 files changed, 53 insertions(+) rename Code/Austen/js-01/{ => v1}/index.html (100%) rename Code/Austen/js-01/{ => v1}/unit-converter.js (100%) create mode 100644 Code/Austen/js-01/v2/index.html create mode 100644 Code/Austen/js-01/v2/unit-converter.js diff --git a/Code/Austen/js-01/index.html b/Code/Austen/js-01/v1/index.html similarity index 100% rename from Code/Austen/js-01/index.html rename to Code/Austen/js-01/v1/index.html diff --git a/Code/Austen/js-01/unit-converter.js b/Code/Austen/js-01/v1/unit-converter.js similarity index 100% rename from Code/Austen/js-01/unit-converter.js rename to Code/Austen/js-01/v1/unit-converter.js diff --git a/Code/Austen/js-01/v2/index.html b/Code/Austen/js-01/v2/index.html new file mode 100644 index 00000000..c2eefb1d --- /dev/null +++ b/Code/Austen/js-01/v2/index.html @@ -0,0 +1,18 @@ + + + + + + + Unit Converter + + + + + + diff --git a/Code/Austen/js-01/v2/unit-converter.js b/Code/Austen/js-01/v2/unit-converter.js new file mode 100644 index 00000000..627e147e --- /dev/null +++ b/Code/Austen/js-01/v2/unit-converter.js @@ -0,0 +1,35 @@ +const roundAccurately = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + +function convert(unitFrom, unitTo, amount, rates) { + for (let i = 0; i < rates.length; i++) { + if (unitFrom === rates[i].name) { + let unitrates = rates[i].rates; + for (let i = 0; i < unitrates.length; i++) { + if (unitTo === unitrates[i].name) { + let rate = unitrates[i].rate; + let calc = amount * rate; + return roundAccurately(calc, 3); + } + } + } + } +} +let rates = [ + { + name: "feet", + rates: [ + { name: "inches", rate: 12 }, + { name: "meters", rate: 0.3048 }, + ], + }, + { name: "meters", rates: [{ name: "feet", rate: 1 / 0.3048 }] }, +]; +alert("Welcome to the converter."); +let unitFrom = prompt("Unit from:\nenter 'feet' or 'meters': "); +let amount = prompt("Enter the number of " + unitFrom + ": "); +let unitTo = prompt( + "What unit would you like to convert to?\nif you entered\n feet: enter 'inches' or 'meters'\n meters: enter 'feet'" +); +let output = convert(unitFrom, unitTo, amount, rates); +alert(amount + " " + unitFrom + " = " + output + " " + unitTo); From 2d36911528463729cae1c4bdb0e0b6e9c76ef63b Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 21 Dec 2021 17:45:14 -0700 Subject: [PATCH 4/5] ignore secretes.js --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bfcadcf2..f600242d 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,4 @@ GitHub.sublime-settings .history .vscode/settings.json +Code/Austen/js-05/scripts/secrets.js From 8d22fb849a5cf619b436124866fb8fbb474f063d Mon Sep 17 00:00:00 2001 From: "Austen C. Myers-Flachson" Date: Tue, 28 Dec 2021 16:51:45 -0700 Subject: [PATCH 5/5] completed v3 --- Code/Austen/js-01/v3/converter.js | 51 +++++++++++++++++++++++++++++++ Code/Austen/js-01/v3/index.html | 20 ++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 Code/Austen/js-01/v3/converter.js create mode 100644 Code/Austen/js-01/v3/index.html diff --git a/Code/Austen/js-01/v3/converter.js b/Code/Austen/js-01/v3/converter.js new file mode 100644 index 00000000..1a4f2e20 --- /dev/null +++ b/Code/Austen/js-01/v3/converter.js @@ -0,0 +1,51 @@ +function convert(amount, from, to){ + let rates = { + feet: 1, + meters: 0.3048, + miles: 1 / 5280, + kilometers: 0.0003048 + }; + const round = (number, decimalPlaces) => + Number(Math.round(number + "e" + decimalPlaces) + "e-" + decimalPlaces); + amount = parseInt(amount) + let feet = amount / rates[from] + let conversion = feet * rates[to] + if (conversion > 99){ + conversion = round(conversion, 0)} + if (conversion > 10){ + conversion = round(conversion, 1)} + if (conversion > 1){ + conversion = round(conversion, 2)} + if (conversion < 1){ + conversion = round(conversion, 4)} + return `${conversion} ${to}` +} +function format(array){ + let string = '' + let l = array.length + for (let i = 0; i < l; i++){ + if (i === l-1){ + string += `and ${array[i]}.` + } + else { + string += `${array[i]}, ` + } + } + return string +} + + + +let options = ['feet', 'miles', 'meters', 'kilometers' ] +let string = format(options) +let from = prompt(`Welcome to the distance converter.\n available units: ${string}\nEnter the starting unit:`); + +let option = options.indexOf(from) +options.splice(option, 1) +string = format(options) +let amount = prompt(`How many ${from}: `); + +let to = prompt(`Now what unit would you like to convert ${from} to?\n available units: ${string}`); + +let conversion = convert(amount, from, to) +document.getElementById('target').innerHTML = conversion diff --git a/Code/Austen/js-01/v3/index.html b/Code/Austen/js-01/v3/index.html new file mode 100644 index 00000000..2910faea --- /dev/null +++ b/Code/Austen/js-01/v3/index.html @@ -0,0 +1,20 @@ + + + + + + + Unit Converter + + + +

+ + +