Bonjour,
J'ai une expression du genre : 2+3x5
je souhaite créer un programme pour calculer cette expression.
j'ai écrit le code suivant.
La fonction scanFactor() verifie si on a bien un chiffre
La fonction scanChar analyse le caractere
ok,y = scanFactor()
if scanChar('x'):
ok, y = scanFactor()
if ok:
x = x * y
else:
scanPosition = lastPosition
break
elif scanChar('-'):
ok, y = scanFactor()
if ok:
x = x - y
else:
scanPosition = lastPosition
break
elif scanChar('+'):
ok, y = scanFactor()
if ok:
x = x + y
else:
scanPosition = lastPosition
break
else:
break
Ce code fonctionne pour les expression ayant la multiplication en premier operateur.
dans les expressions ou la multiplcation n'est pas vu comme le premier opérateurs, il ne fonctionne pas.
Qu'est ce que je dois modifier dans le code afin qu'il reconnaisse la priorité de la multiplication sur les deux autres opérateurs?
Je vous remercie d'avance,
Cordialement
Elrachal
Configuration: Windows XP
Firefox 3.5.5