regarde la calculette q j'ai mise sur le reseau, tu devrais le trouvcer en faisant une recherche sur mon tafiscobar, elle realise ce calcul avec priorite,decimaux,parentheses,etc.. RM:je v dire bien sur, il faudra q tu lises le code source, j'ai essaye de commenter de mon mieux. seul le C/C++ vaut la peine d'etre appris. tafiscobar.
------------------------------- Réponse au message : -------------------------------
> soit Str la chaîne de caractères à analyser > > Char Str[10] = "1+3="; // par exemple > int operateur = 0; // 1 pour l'addition, 2 pour la soustraction,etc... > int operande[2],nboperande = 0,p = 0,result; > > While( Str[p] != '=' ) { > switch( Str[p] ) > { > case 0x2B: // code ascii du + > operateur = 1; > nboperande++; > break; > case 0x2D: // code ascii du - > operateur = 2; > nboperande++; > break; > // autres opérateur... > // > case 0x30: // code ascii du 0 > operande[nboperande] = 0; > break; > case 0x31: // code ascii du 1 > operande[nboperande] = 1; > break; > // autres chiffres > // > } > p++; > } > switch(operateur) > { > case 1: > result = operande[0] + operande[1]; > break; > case 2: > result = operande[0] - operande[1]; > break; > // autres operateurs > // > } > > bien sur,il manque un truc pour les opérandes qui ont plusieurs chiffres. > > > > ------------------------------- > Réponse au message : > ------------------------------- > > J'aimerais créer un prog qui lise une expression mathématique basique (du type 2 + 6) et qui la calcule, je suppose qu'il faut utiliser la recherche de caractère... Merci du coup de main. >
|