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!