Exercice langage C: Résolution d'équation du deuxième degré

Travail à Faire:

Reprenez votre programme de la séance précédente qui calculait les racines d'une équation du second degré. Ce programme renvoyait une erreur à l'exécution au moment où il essayait de calculer la racine carrée du discriminant  ? , quand ? était négatif. L'instruction if va nous permettre d'éviter cette erreur à l'exécution.

Modifiez votre programme pour qu'il affiche le message:

Je ne sais pas calculer les racines dans ce cas.

si ? < 0. Si ? >= 0, le programme devra afficher les racines de l'équation.

Vérifiez que votre programme est correct:

  • Le cas  = 1,  = -4,  = 1 a pour racines: 0.267949 et 3.732051.
  • Dans le cas  = 1,  = 1,  = 1 le programme doit afficher le message Je ne sais pas calculer les racines dans ce cas.

 


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include 
#include 

using namespace std;

int main(int argc, char **argv)
{
  float a, b, c;
  float delta;

  cout << "Entrez les coefficients:" << endl << "a: ";
  cin >> a;
  cout << "b: ";
  cin >> b;
  cout << "c: ";
  cin >> c;

  delta = b*b-4*a*c;

  if (delta < 0)
    cout << "Je ne sais pas calculer les racines dans ce cas." << endl;
  else {
    cout << "Les deux racines sont: " << endl;
    cout << "1) " << (-b+sqrt(delta))/2/a << endl;
    cout << "2) " << (-b-sqrt(delta))/2/a << endl;
  }

  return 0;
}