From dd1d9b4265e61396b00c6323736ef0c6d5151643 Mon Sep 17 00:00:00 2001 From: Stiv0 Date: Tue, 13 Jun 2017 23:46:19 +0300 Subject: [PATCH] Javascript and html calculator for cylinder --- calculator.js | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ home.html | 24 ++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 calculator.js create mode 100644 home.html diff --git a/calculator.js b/calculator.js new file mode 100644 index 0000000..08dd9e7 --- /dev/null +++ b/calculator.js @@ -0,0 +1,67 @@ +var inputRadius; +var inputHeight; +var volume = document.getElementById("volume"); +var baseArea = document.getElementById("baseArea"); +var sideArea = document.getElementById("sideArea"); +var totalArea = document.getElementById("totalArea"); + +window.onload = function(){ + performTest(); + document.getElementById("radius").addEventListener("change", getResults); + document.getElementById("height").addEventListener("change", getResults); +} + +function performTest(){ + const cyl = new Cylinder(3,4); + var testVolume = cyl.volume.toFixed(3); + var testTotalArea = (cyl.baseArea+cyl.sideArea).toFixed(3); + if(testVolume == "113.097" && testTotalArea == "103.673"){ + document.getElementById("testResult").innerHTML = "Test successful"; + }else{ + document.getElementById("testResult").innerHTML = "TEST FAILED!"; + } +} + +function getResults(){ + inputRadius = document.getElementById("radius").value; + inputHeight = document.getElementById("height").value; + const c = new Cylinder(inputRadius, inputHeight); + volume.innerHTML = c.volume.toFixed(3); + baseArea.innerHTML = c.baseArea.toFixed(3); + sideArea.innerHTML = c.sideArea.toFixed(3); + totalArea.innerHTML = (c.baseArea+c.sideArea).toFixed(3); + +} + +class Cylinder{ + constructor(radius, height){ + this.radius = radius; + this.height = height; + } + //volume + get volume(){ + return this.calcVolume(); + } + + calcVolume(){ + return Math.PI*Math.pow(this.radius, 2)*this.height; + } + + //baseArea + get baseArea(){ + return this.calcBaseArea(); + } + + calcBaseArea(){ + return Math.PI*Math.pow(this.radius, 2); + } + + //sideArea + get sideArea(){ + return this.calcSideArea(); + } + + calcSideArea(){ + return 2*Math.PI*this.radius*this.height; + } +} \ No newline at end of file diff --git a/home.html b/home.html new file mode 100644 index 0000000..fdb567c --- /dev/null +++ b/home.html @@ -0,0 +1,24 @@ + + + + + Silindri kalkulaator + + + +

+

Silindri kalkulaator

+
+

Raadius:

+
+
+

Kõrgus:

+
+

Ruumala:

+

Põhjapindala:

+

Küljepindala:

+

Täispindala:

+ + + +