bonjour
j'ai un programme compilé sans erreur et pourtant il plante qd je rentre les nombres 1,2 et -8.
si je rentre que des nbres positif alors il marque delta = 0 bizarre qu'il calcule pas.
je comprend pas pk il plante alors que j'ai pas de warning !


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
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#include <stdio.h>
#include <conio.h>
#include <math.h> // pour la racine ==>  sqrt();
 
void saisie (float *aa,float *bb,float *cc)
{
printf("ENTRER A:");
scanf("%d",aa);
printf("ENTRER B:");
scanf("%d",bb);
printf("ENTRER C:");
scanf("%d",cc);
}
 
void calcul (float aa,float bb,float cc)
{
float delta;
delta=((bb*bb)-(4*aa*cc));
printf ("delta=%f\n",delta);
if (delta<0)
printf ("il n'y a pas de solution Reelle\n");
if (delta==0)
printf ("X=%f\n",(-bb)/(2*aa));
printf ("X1=%f\nX2=%f\n",(((-bb)-(sqrt(delta)))/(2*aa)),(((-bb)+(sqrt(delta)))/(2*aa)));
}
 
void main(void)
{
float aa,bb,cc;
saisie (&aa,&bb,&cc);
calcul (aa,bb,cc);
printf("POUR SORTIR FRAPPER UNE TOUCHE: ");
getch();
}
je voudrai comprendre pk ça marche pas et comment corriger CE programme. Merci d'avance.
ps : delta = (bb)^2 - 4*(aa)*(cc)
et x = [(-bb)-racine de delta] / (2*aa)

Merci