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 :
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é).
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; } }
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!
Partager