IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

détection d'erreur en c++


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut détection d'erreur en c++
    SLt tt le monde!
    Je développe une application en visual c++. mon aplication sert à calculer le rapprt (A-B)/(A+B) à partir de données provenant de port série. le code permettant ce calcul est le suivant;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    float A; float B;
    A = (float)(((int)this->currForm1->receive_A)+((int)this->currForm1->receive_B))/2 - (float)this->currForm1->Config[21]/100000; 			
    B = (float)(((int)this->currForm1->receive_E)+((int)this->currForm1->receive_F))/2 - (float)this->currForm1->Config[22]/100000; 			
    if(A+B > 0)
    	pos_y = (A-B)/(A+B);
    else
    				pos_y = 0.0;
    __________________________________________
    A et B étant toujours positifs et A >B, normalement, mon calcul ne devrait donner que de résultats positifs. Il se trouve que pendant le test que j'ai effectué, le programme m'affiche de valeurs négatives((A-B)/(A+B)). Je n'arrive pas fixer où se trouver l'erreur.
    Merci de m'aider à déterminer d'où provient cette erreur.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Es-tu sur que A et B sont comme tu les a décrit ? As-tu visualisé les valeurs quand le problème survient ?

    Par exemple, du code comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((int)this->currForm1->receive_A)+((int)this->currForm1->receive_B)
    Pourrait donner un résultat négatif, même si receive_A et receive_B sont tous deux positifs, pour peu qu'ils soient assez grands pour faire "boucler" les entiers.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. DoCmd.GoToRecord et détection des erreurs de saisie
    Par aba_tarn dans le forum VBA Access
    Réponses: 12
    Dernier message: 26/07/2007, 08h44
  2. [Système] [debug] Détection des erreurs de compil
    Par Herode dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2006, 13h03
  3. Réponses: 37
    Dernier message: 30/11/2005, 19h41
  4. [3.0.2]Détection des erreurs dans le Package Explorer
    Par willowII dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 18/08/2005, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo