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 :

Erreur boucle if polynôme du second degré


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Par défaut Erreur boucle if polynôme du second degré
    Bonjour,
    Etudiant actuellement le C++, je dois réaliser un programme permettant de donner la solution à une équation de type ax²+bx+c=0. a = m_a, b = m_b, c = m_c.
    Cependant, à l'exécution je rencontre un problème, dans la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    void CSgdDgr::Resolution()
    {
    	double dDelta = Delta();
    	cout << "Delta = " << dDelta << endl << endl;
     
    	if (dDelta < 0)
    	{
    		cout << "x1 = " << -m_b / 2 << " - i " << sqrt(-dDelta) / 2 << endl;
    		cout << "x2 = " << -m_b / 2 << " + i " << sqrt(-dDelta) / 2 << endl;
    	}
     
    	if (dDelta = 0)
    	{
    		cout << "x = " << -m_b / 2 * m_a << endl;
    	}
     
    	if (dDelta > 0)
    	{
    		cout << "x1 = " << (-m_b - sqrt(dDelta)) / 2 * m_a << endl;
    		cout << "x2 = " << (-m_b + sqrt(dDelta)) / 2 * m_a << endl;
    	}
    }
    Si dDelta <0, cela fonctionne, cependant, si dDelta=0 ou dDelta>0, le programme ignore les boucles if (j'ai vérifié avec compilation pas à pas détaillé).
    Devant rendre ce programme ce soir, vous êtes mon dernier recours!
    Selon vous, d'où viens le problème?
    P.S. dDelta est précédemment calculé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    double CSgdDgr::Delta()
    {
    	return (m_b * m_b) - (4 * m_a * m_c);
    }
    _________________________________________________________________________

    Merci d'avance!

  2. #2
    Membre chevronné Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 188
    Par défaut
    Citation Envoyé par PP_dev Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    void CSgdDgr::Resolution()
    {
    	double dDelta = Delta();
    	cout << "Delta = " << dDelta << endl << endl;
    
    	if (dDelta < 0)
    	{
    		cout << "x1 = " << -m_b / 2 << " - i " << sqrt(-dDelta) / 2 << endl;
    		cout << "x2 = " << -m_b / 2 << " + i " << sqrt(-dDelta) / 2 << endl;
    	}
    	
    	if (dDelta == 0)  // les test avec '==' sinon dDelta passe à zéro ;)
    	{
    		cout << "x = " << -m_b / 2 * m_a << endl;
    	}
    
    	if (dDelta > 0)
    	{
    		cout << "x1 = " << (-m_b - sqrt(dDelta)) / 2 * m_a << endl;
    		cout << "x2 = " << (-m_b + sqrt(dDelta)) / 2 * m_a << endl;
    	}
    }
    réponse dans le code

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations forums :
    Inscription : Juillet 2012
    Messages : 200
    Par défaut
    Il y a déjà une entrée semblable dans le bêtisier, mais apparement nous autres développeurs sommes condamnés à voir l'histoire se repéter... Dans le titre de la discussion, Boucle if

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 6
    Par défaut
    XD Merci beaucoup j'avais pas fait gaffe... Le boulet!
    Bref vous me sauvez!

    Citation Envoyé par esired Voir le message
    Il y a déjà une entrée semblable dans le bêtisier, mais apparement nous autres développeurs sommes condamnés à voir l'histoire se repéter... Dans le titre de la discussion, Boucle if
    Ouais j'aurais du mettre instructions de contrôle, je sais que if n'est surement pas une boucle (contrairement à for) ... Autant pour moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. résolution de polynôme du 3ème degrés , erreur ?
    Par Invité dans le forum Mathématiques
    Réponses: 4
    Dernier message: 14/09/2012, 22h45
  2. Indice de courbure (z=f(x,y) "polynôme de second degré")
    Par maroua_ dans le forum Mathématiques
    Réponses: 15
    Dernier message: 21/08/2011, 20h41
  3. [VBA-E] erreur boucle for each
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2006, 17h38
  4. Erreur: "Boucle et TStringList"
    Par Romain² dans le forum Langage
    Réponses: 25
    Dernier message: 22/12/2005, 23h26
  5. Visual basic: algo résolvant une équation du second degré
    Par mauriiice dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 05/12/2005, 18h16

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