[Javascript] Calculator en = button

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
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:
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

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Gooi je laatste operand en getal in een hidden field oid; of in een variable, en zorg dat je met de =knop steeds die dingen in je uitreken-string toevoegt en het zooitje weer uitvoert.

  • Vinzzz243
  • Registratie: Februari 2001
  • Laatst online: 22-01-2025
dat mag dus niet, ik wil niet de laatste operand onthouden, alleen de eerste operand2 :D

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
Vinzzz schreef op 05 november 2002 @ 19:05:
dat mag dus niet, ik wil niet de laatste operand onthouden, alleen de eerste operand2 :D
erm, stel, je voert in: 6 * 2

dit wordt met 3x = dan:

6 * 2 * 2 * 2 = 48

da's dan toch een kwestie van de laatste operand + integer opslaan en die steeds weer toevoegen aan de totale string waar je je berekening in opbouwt?

Verwijderd

Ik weet iets: leer zelf iets uitzoeken. Dit schiet niks op. 'Wij' zijn er niet alleen om jou te helpen.

Dit topic is gesloten.