Guys i am not satisfied with my "calculator"

Viewed 33

i'm a beginner, it's also my first project, but that shouldn't be an excuse for having programmed something so inefficiently

i would be very interested to learn how to do it better please make sure you use plain english, english is not my native language.

//The upper part is only there so that the calculator can be used with buttons

   <button onclick="myFunction1()">1</button>
<button onclick="myFunction2()">2</button>
<button onclick="myFunction3()">3</button>
<button onclick="myFunction4()">4</button>
<button onclick="myFunction5()">5</button>
<button onclick="myFunction6()">6</button>
<button onclick="myFunction7()">7</button>
<button onclick="myFunction8()">8</button>
<button onclick="myFunction9()">9</button>
<button onclick="myFunction0()">0</button>


<button onclick="myFunctionmul()">-</button>
<button onclick="myFunctionmulPlus()">+</button>
<button onclick="myFunctionGLEICH()">=</button>
<button onclick="myFunctionDELETE()">Delete</button>

 var k = 0; 
var a = 0;
var b = 0;
var z = 1;
var x = 0;
var rechnungsart = 0;


function myFunction1() {
if (z === 1) {
  a = a + "1";
  a = + a;
    console.log("a = "+a); 
 }
else if (z === 2) {b = b + "1";
b = + b;
console.log("b = "+b);
}
}

function myFunction2() {
if (z === 1) {
 a = a + "2";
  a = + a;
   console.log("a = "+a);

    } 
    
else if (z === 2) {b = b + "2";
b = + b;
 console.log("b = "+b);
}
}

function myFunction3() {
if (z === 1) {
 a = a + "3";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "3";
b = + b;
 console.log("b = "+b);
}
}

function myFunction4() {
if (z === 1) {
 a = a + "4";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "4";
b = + b;
 console.log("b = "+b);
}
}

function myFunction5() {
if (z === 1) {
 a = a + "5";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "5";
b = + b;
 console.log("b = "+b);
}
}

function myFunction6() {
if (z === 1) {
 a = a + "6";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "6";
b = + b;
 console.log("b = "+b);
}
}

function myFunction7() {
if (z === 1) {
 a = a + "7";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "7";
b = + b;
 console.log("b = "+b);
}
}

function myFunction8() {
if (z === 1) {
 a = a + "8";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "8";
b = + b;
 console.log("b = "+b);
}
}

function myFunction9() {
if (z === 1) {
 a = a + "9";
  a = + a;
   console.log("a = "+a);

    } 
else if (z === 2) {b = b + "9";
b = + b;
 console.log("b = "+b);
}
}

function myFunction0() {
if (z === 1) {
 a = a + "0";
  a = + a;
   console.log("a = "+a);

    } 

else if (z === 2) {b = b + "0";
b = + b;
 console.log("b = "+b);
}
}

function myFunctionmulPlus() {
z = 2;
}
function myFunctionmul() {
z = 2;
rechnungsart = 1;
}
function myFunctionDELETE() {
var k = 0;
var a = 0;
var b = 0;
var z = 1;
var x = 0;
var o;
}


function myFunctionGLEICH() {
x++;
if (rechnungsart === 0){
k = k + a + b;
}
else if (rechnungsart === 1) {
k = k + a - b;
rechnungsart = 0;
}

alert(k);
console.log("Calculation Nr "+x + " Result of the "+ x +" calculation = " + k);
z = 1;
a = 0;
b = 0;
}
1 Answers

You can start by creating a more generic method and passing the action to be taken as a parameter. For example:

function calculate(method, param1, param2...){
 switch(method){
   case "add":
     return param1 + param2;
   case "multiply":
     return param1 * param2;
   case "divice":
     return param1 / param2;
   .
   .
   .
 }
}

And when you call it from the Add button:

<button onclick="calculate("add", x, y)">Add</button>
Related