Ik kom er gewoon NIET uit. Op google vind je talloze calculators, maar er is een voorwaarde die ik moet verwerken waaraan al deze calculators niet voldoen:
de laatste uitgevoerde functie wordt herhaald uitgevoerd met het TWEEDE ingevoerde getal door alleen op de = button te klikken.
6*2 moet dus na 3 maal op = te hebben geklikt opleveren: 12, 24, 48
wat ik nu heb levert op: 12, 24, 288 ... hij vermenigvuldigd dus steeds de laatste 2 getallen, terwijl hij zonder tussen komst van een andere button dan de = button, gewoonweg met 2 zou moeten blijven vermenigvuldigen.
Ik weet dat het iets te maken heeft met onthouden of de 2e operand veranderd, maar kom er gewoon niet uit. Wie kan me helpen?
Mijn code voor nu:
functie verwerknum wordt gestart na op een cijfer te hebben geklikt, verwerkop als op * is geklikt... Voor de overzichtelijkheid heb ik alle andere code (+,-,/) weggelaten
de laatste uitgevoerde functie wordt herhaald uitgevoerd met het TWEEDE ingevoerde getal door alleen op de = button te klikken.
6*2 moet dus na 3 maal op = te hebben geklikt opleveren: 12, 24, 48
wat ik nu heb levert op: 12, 24, 288 ... hij vermenigvuldigd dus steeds de laatste 2 getallen, terwijl hij zonder tussen komst van een andere button dan de = button, gewoonweg met 2 zou moeten blijven vermenigvuldigen.
Ik weet dat het iets te maken heeft met onthouden of de 2e operand veranderd, maar kom er gewoon niet uit. Wie kan me helpen?
Mijn code voor nu:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| var displayleeg = true;
var operand1 = "1";
var operator;
function verwerkNum(num)
{
var temp;
if (displayleeg == true)
{
temp = num;
displayleeg = false;
}
else temp = document.calc.display.value + num;
return temp;
}
function verwerkOp(op)
{
var temp = " ";
displayleeg = true;
decimaal = false;
if (op == '=')
{
if (operator == '*')
{
temp = operand1 * document.calc.display.value
operand1 = document.calc.display.value
}
} else
{
operand1 = document.calc.display.value
temp = document.calc.display.value
if (op == '*') operator = '*'
}
return temp;
} |
functie verwerknum wordt gestart na op een cijfer te hebben geklikt, verwerkop als op * is geklikt... Voor de overzichtelijkheid heb ik alle andere code (+,-,/) weggelaten