2009-11-03 7 views
0

Vous voulez coder un clavier pour une calculatrice. Ce que je veux faire est:Quelle est l'approche la plus simple pour un algorithme de clavier de calculatrice?

Clavier avec touches de 0 à 9 Touches spéciales: + - * /. =

Mon conceptuelle jusqu'à présent:

Lorsqu'une touche numérique est pressée, convertir sa valeur int en une chaîne et ajouter cette chaîne à la bufferString. De cette façon, la valeur d'entrée est construite. Lorsque l'utilisateur appuie sur. (pour faire une valeur flottante), vérifiez si. est déjà dans la chaîne bufferString. Si c'est le cas, ignorez cela.

Mais: est-ce vraiment un bon moyen d'y aller? Ou devrais-je faire toutes ces choses d'entrée de nombres purement mathématiquement?

Répondre

2

L'idée est de convertir une expression infixe en une expression postfixe (notation polonaise inversée) en utilisant le Shunting yard algorithm. Ensuite, l'expression postfix est facile à résoudre.

0

Pourquoi convertir d'int en chaîne quand vous pourriez juste passer directement une chaîne? Tout le reste semble ok pour moi.