EVALUATION D'UNE EXPRESSION PARENTHÉSÉE

Cyberboy2054 Messages postés 173 Date d'inscription jeudi 20 décembre 2001 Statut Membre Dernière intervention 22 août 2008 - 18 avril 2007 à 19:45
elkasimi2007 Messages postés 20 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 26 mai 2011 - 24 mai 2011 à 18:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42329-evaluation-d-une-expression-parenthesee

elkasimi2007 Messages postés 20 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 26 mai 2011
24 mai 2011 à 18:55
d'accord l'explication est facile :

je suppose que l'expression est sous la forme d1opd2
d1 => un nombre
op => c'est l'opération à éffectuer
d2 => un autre nombre

je sais que c'est pas très clair vu du code C mais voila comment va les choses:
- je lis l'entier d1
- je lis l'opération à effectuer
- je lis l'entier d2

et suivant l'opération à éffectuer: je vais calculer le retour de la fonction soit a (+ ou * ou / ) b

j'éspère que j'était clair
fatimakhaoula Messages postés 1 Date d'inscription samedi 9 avril 2011 Statut Membre Dernière intervention 9 avril 2011
9 avril 2011 à 11:41
saluut!!
merci pour le programme,je suis très besoin de ce programme mais malheureusement je n'arrive a le bien comprendre et surtout la fonction opération,et si je veux ajouter des fonction de le bibliothèque maths comme sin et cos et tan, dans la même expression mathématique.
merci d'avance
elkasimi2007 Messages postés 20 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 26 mai 2011
19 avril 2007 à 00:54
salut a tous
pour la remarque de Joky il suffit de modifier que la fonction calculer(s) en fonction retournant double est admettant comme paramétre des doubles
Merci pour votre remarque pertinente.
c'est justement l'un des perspectives de ma source.
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
19 avril 2007 à 00:02
Pourquoi ça ne choque que moi que 21 - 5/2 = 19 ?
elkasimi2007 Messages postés 20 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 26 mai 2011
18 avril 2007 à 23:31
salut a tous
merci pour vos remarques pertinentes
merci pour les compliments de Cyberboy2054 ...
je suis tout a fait d'accord avec SAKingdom il fallait mettre strlen(s) dans une variable L et travailler avec,pour la fonction itoa qui existe dans stdlib j'ai pas volu l'utilisé car j'ai su qu'il n'est pas une fonction standard ANSI.
encore une fois merci!
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 avril 2007 à 20:45
Pourquoi je vois de strlen partout même dans les conditions des boucles ?
Extrêmement mauvais pour les performances tout ça (surtout dans les boucles), car on parcoure sans cesse la chaine inutilement.
Stock la taille de la chaine en début de fonction dans une variable et utilise cette même variable partout ou c'est nécessaire.

En passent, ton tostring est inutile. Il existe déjà une fonction pour convertir un int vers un char*: itoa
Cyberboy2054 Messages postés 173 Date d'inscription jeudi 20 décembre 2001 Statut Membre Dernière intervention 22 août 2008
18 avril 2007 à 19:45
Le code est court, bien écrit et montre ce qui est annoncé.
Bien joué et comme ta précédente source, je suis vraiment impressionné par la manière dont du arrive à réaliser des sources aussi claires tout en etant aussi concises