Bonjour,
Je suis entrain de programmer une calculatrice RPN qui repose sur une pile FIFO (first-in, first-out).
J'ai réussi a mettre au point la pile avec ses fonction dérivées : empiler dépiler, etc.
Dans les conditions de cet exercice, il me faut pouvoir dupliquer le sommet de la pile en tapant "DUP", inverser les deux dernier éléments en tapant "SWAP" et enfin affiche le contenu de la pile en tapant "STACK"
J'ai réussi à programmer ces fonctions : DUP, SWAP, STACK.
La pile fonctionne bien dès que tu entres un chiffre ou un opérateur, l'instruction c=getcher() résout le problème, par contre je suis embêté car je n'arrive pas à trouver l'astuce qui me permet de renter DUP, SWAP et STACK. Je n'arrive pas à trouver le(s) instruction(s) nécessaire(s) pour que le programme fasse la différence entre (nombre, opérande) et les chaines de caractère voulues.
J'ai pensé à un tableau de chaine de caractère pour entrer mes donnés, sauf que dans ce cas je perds la simplicité de getchar() et je ne peux plus exécuter mes opérations.
merci,
Partager