Calculatrice Notation polonaise inversée (C)

Caelyn -  
 Caelyn -
Bonjour,

J'ai comme devoir une calculatrice en notation polonaise inversée, l'alorithme ne me pose pas de soucis pour le moment, par contre mon problème vient du fait que je n'arrive pas à récuperer autre chose que le premier élément:

printf("Entrez votre expression:\n");
fgets(expression, sizeof(expression), stdin);

i=atoi(expression);
printf("i vaut %d\n", i);

tout est déclaré avant c'est sur mais par exemple si j'entre:

15 3 +

il va parfaitement me reconnaitre le 15 mais rien d'autre, donc je voulais savoir si quelqu'un avait une idée. Merci beaucoup et bonne journée
Configuration: Linux / Epiphany 2.22

4 réponses

  1. $ Enzo $ Messages postés 311 Date d'inscription   Statut Membre Dernière intervention   61
     
    Et le scanf alors ? ;-)
    0
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    ou mieux, sscanf() ! qui permet de récupérer l'opération et de controler entre temps ce qui est saisi.
    0
  3. $ Enzo $ Messages postés 311 Date d'inscription   Statut Membre Dernière intervention   61
     
    Voilà un lien Google Codes Search qui peut aider :

    http://www.google.com/codesearch/p?hl=fr

    Mais faut pas le pomper, sinon plus d'intérêt d'apprendre le C ;-)
    0
  4. Caelyn
     
    Merci à vous c'était super gentil mais j'ai trouvé une autre méthode, en passant l'expression comme paramètre du main, ça marche quasi niquel

    Et ce qui me genait dans l'utilisation de scanf c'était que je voulais tout rentrer en une seule fois et que scanf s'arrete au premier espace, c'est pour ça que j'avais pris fgets.
    0