Analyseur d'expression avec l'api windows ( visual c++ )

Soyez le premier à donner votre avis sur cette source.

Vue 8 853 fois - Téléchargée 796 fois

Description

voila c'est une calculette qui vous permettra d'effectuer des calculs avec des nombres complexes et plein d'autre fonctions comme cos,sin,tan,exp ... j'ai mis une fenêtre d'aide pour les raccourcis et les fonctions dans le menu.
en fait j'en avais marre de la calculette windows que je trouve pas pratique pour effectuer des calculs plus compliqué que 5+5.
sinon j'ai aussi rajouté une petite fonction que je trouve bien sympas, vous tapez sa : 5+5;9*2 et le résultat : 10;18
ainsi vous pouvez comparer 2 resultats sans avoir a retenir le 1er ( vous pouvez taper autant de calculs séparés que vous voulez )

Source / Exemple :


tout dans le zip !!

Conclusion :


j'ai essayé de faire mon maximum pour éviter les bugs et je trouve que la calculette est relativement fiable.
mais vous imaginé qu'il est biensure impossible d'essayer toutes les possibilitées, il peut donc rester des bug. si c'est le cas laisser un commentaire.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

MuPuF
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008
-
No comment, just a 10/10 ...

Bon ok je commente, Super parseur d'expression, c'est bien simple, JE L'ADOPTE !
T'es vraiment un bon toi ;-)
Une approche du probleme tres intéréssante (meme si je comprends pas tout, on va dire que j'ai pas vraiment cherché aussi)
MuPuF
Messages postés
536
Date d'inscription
mercredi 27 avril 2005
Statut
Membre
Dernière intervention
22 août 2008
-
... il plante au démarage en mode release, encore une différence de gestion de la mémoire, rrr... essais de le corriger, j'ai 2 warnings si tu veux:
C:\Documents and Settings\Progr@mmeur Fou\Bureau\analyseur d expression complexe\fonctions.h(1405) : warning C4172: returning address of local variable or temporary
C:\Documents and Settings\Progr@mmeur Fou\Bureau\analyseur d expression complexe\fonctions.h(1414) : warning C4172: returning address of local variable or temporary

Il doit y avoir un rapport
cs_mat74
Messages postés
241
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
ouai moi aussi jai les warnings mais je sais pas trop comment corrigé sa ...
par contre je viens d'essayer de le compiler en release et sa marche bien . ta quoi comme compilateur ?
cosmobob
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
3 -
salut,
déja j'utilise vs7, et le code compile pas : les operateurs comme += doivent - dans le standard c++ que vc6 ne respecte pas - retourner une valeur. Il suffit de leur faire renvoyer un Complexe& et de mettre return *this; a la fin de chaque implementation de tes operateurs +=, -=, etc.

sinon moi ton programme plante au démarrage en release ET en debug.
En debug il me met que la pile autour d'une variable dans la fonction Liste interpretation (char* expression) a été corrompu.
En gros ca veut dire que t'as mal géré les pointeurs.
regarde ca : char expr[5]; et jamais dans la suite de ta fonction tu ne vérifies que ton indice j utilisé dans expr[j] ne dépasse 4 (et j finit par dépasser 4; ton code est mal concu ...). D'ou un buffer overflow...
Ceci ne m'etonne pas trop car le fait de renvoyer a d'autres endroits un pointeur qui désignait un tableau déclaré en local ne t'as pas ennuyé (le fameux warning "returning address of local variable or temporary"). Pour le corriger, rend la variable que tu renvoies static !! static dit que ta variable continue d'exister tout le temps meme quand tu es sorti de la fonction; toi tu renvoyais un pointeur vers une variable locale qui n'etait donc plus valide quand tu sors de la fonction appelée !!!!!

Bon il te manque certaines bases du C qd meme ;)





moi aussi ca plante en release au démarrage
cosmobob
Messages postés
706
Date d'inscription
mardi 30 décembre 2003
Statut
Membre
Dernière intervention
27 janvier 2009
3 -
la derniere ligne du message précédent est a ignorer ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.