begin process at 2013 06 20 05:45:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > EVALUATEUR D'EXPRESSION ARITHMÉTIQUE

EVALUATEUR D'EXPRESSION ARITHMÉTIQUE


 Description

Je suis nouveau en programmation, cette application a été conçu dans le cadre d'un projet de fin d'année. J'ai besoin de votre contribution pour me donner votre avis sur cette application. Soyez rigoureux envers cette, même si ça me fait mal.
NB: J'utilise les bibliothèques "allegro" pour coder l'interface graphique



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

GESTION DE MEMOIRE AUTOMATIQUE EN C++ par magicsystem
Source avec Zip CHAT EN MODE CONSOLE AVEC API WINDOWS par Pylouq
Source avec une capture TRACE ROUTE AVEC QT par LoVerMaKi
Source avec Zip TABLEAU INTERACTIF ET CONVIVIAL par accessone
Source avec Zip Source avec une capture PROGRAMME DE SAISIE D'UN RUBIK'S CUBE par AffreuxJojp

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CASSE_BRIQUE_VERSION_UNIX_WIN32 par wassimbik
Source avec Zip Source avec une capture CONTACTS MANAGER par eapaceinfo
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture EVALUATEUR_EXPRESSION_ARITHMETIQUE par Donald180v
Source avec Zip Source avec une capture ANALYSEUR LEXICAL par Donald180v

Commentaires et avis

Commentaire de CptPingu le 17/04/2012 11:37:01 administrateur CS

Bonjour.

Quelques critiques:
- Évite d'utiliser Dev-C++ (c'est incroyable le nombre de débutant qui se font avoir !). C'est un très très vieil IDE qui embarque un compilateur antédiluvien. Préfère une solution plus récente comme QtCreator, Code::Block ou encore Visual Studio Express.
- On code dans les *.c, pas dans les *.h ! C'est ce qu'il y a de plus choquant dans ton code actuellement.
- Bannis les goto de ton code. goto est une fonction avancée, qui est à utiliser avec grande parcimonie. Les cas où un goto est élégant, sont extrêmement rares. À moins d'être particulièrement agueris en C ou C++, il y a 99.9% de chance qu'un goto ne soit pas nécessaire. En d'autre terme, si tu vois un goto dans ton code, pose toi des questions...
- Les commentaires, c'est vraiment pas ça. Si ça peut te rassurer, ça l'est rarement :p. Je te renvoi à la lecture d'un article que j'ai écrit: http://0217021.free.fr/portfolio/axel.berardino/articles/ecrire-de-bons-commentaires
- Il faut que tu révises tes fonctions standards. La fonction "valeur" c'est un peu n'importe quoi. Tu as la fonction "atoi" qui est bien plus adaptée.
- On ne gère jamais les erreurs intrusivement. On évite de mélanger les messages d'erreur et le code. Généralement on réalise une fonction, qui retourne un code d'erreur. Libre ensuite à la partie d'affichage d'afficher le bon message d'erreur en fonction du code (ou de ne rien afficher).
Ex:
Au lieu de:
void func(int a, int* b)
{
  if (a == 0)
    printf("msg erreur");

  *b = 2 * a;
}
func(5, &b);

Tu devrais avoir:
int func(int a, int* b)
{
  if (a == 0)
    return 0;

  *b = 2 * a;
  return 1;
}
if (func(5, &b) == 0)
  printf("msg erreur");
else
  printf("ok");

De plus, si tu sépares bien ton code, de tes messages d'erreurs. Ça permettrait d'inclure ton code dans n'importe quelle solution. Là c'est tellement lié à Allegro, que je ne peux pas le compiler chez moi (j'aurais aimé extraire uniquement le code métier, pour le tester).

- Il y a des fonctions assez moyennes. Par exemple la fonction "tester" qui ne vérifie pas les bornes, et surtout au lieu d'itérer sur ton tableau, tu utilises des if à outrance (sans compter que les return étant débranchant, tu n'as absolument pas besoin de faire des "else" de partout).
- Je n'ai pas compris l'intérêt de la fonction "TEST_ADD".
- On évite les define, et on préfère l'utilisation de "static const + type".

Y a encore pas mal de petites choses, mais je t'invite déjà à revoir tous les points cités plus haut.

Quant au programme même, impossible de le tester sans installer Allegro. Je n'ai donc pas pu l'essayer (encore une fois, avec moins d'intrusivité, j'aurais pu).

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

représentation graphique d'une fonction en allegro [ par wdhliv ] bonjour à tous, voila je débute en allegro, et je veux commencer par la représentation graphique d'une fonction mathématique ( y= Comment chercher un opérande central d'une expression arithmétique [ par kadermissoum ] Bonjour; J'ai l'expression arithmétique suivante : S = "((A+B)*(C-(D/E)))";     |-----| |-||---|     |-----| |---------|        PG       PD - Je vou Gestion d'une bibliothèque par interface graphique en C++ [ par karimfsdmfes ] Bonjour tout le monde, Je suis une étudient et j’ai petit programme à réaliser. En fait je débute totalement en C++. Bref mon programme consis Gestion d'une bibliothèque par interface graphique en C++ [ par karimfsdmfes ] Bonjour tout le monde, Je suis une étudient et j’ai petit programme à réaliser. En fait je débute totalement en C++. Bref mon programme consis comment programmer une carte graphique? [ par fotoro ] Salut à tous! j'aimerais avoir des informations par rapport à la programmation d'une carte graphique NVIDIA 9800 GT. Est-il possible avec CUDA? Si oui Pilote (Driver) entre interface graphique et base de données [ par karimfsdmfes ] Bonjour, J’ai un problème au nivaux de la connexion entre interface graphique en C++ dans Visual C++ et base de donnée Access. Quelle Pilote (driver conception d'une bibliothèque graphique [ par salma5 ] Bonjour, Dans le cadre de mon projet, je dois développer une bibliothèque graphique contenant un ensemble d'interfaces paramétrables (exemples de para


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales