Bonjour, j'ai un problème dans mon code, j'ai créé void calculequation pour calculer les racines réelles d'un polynome du second degré, qui marche très bien, mais dans mon programme principal j'ai un problème, mon but étant de demander après chaque résolution à l'utilisateur s 'il souhaite résoudre une autre équation.
Je tape 1 pour refaire ou 0 pour arrêter, sauf que je dois saisir la valeur 2 fois pour que mon programme comprenne, et si je tape 1 deux fois, ça marche sauf que ma valeur "a" pour le 1er coefficient prend la valeur 1 !!
Pour arrêter le programme, je dois saisir 2 fois 0.
Voici mon code, en espérant que quelqu'un puisse m'expliquer le soucis !
Merci
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
36
37
38
39
40
41
42
43
44
45 #include <stdio.h> #include <math.h> void calculequation () { float a,b,c; float delta; printf("Veuillez saisir les coefficients a,b et c\n"); printf("a= "); scanf("%f",&a); printf("b= "); scanf("%f",&b); printf("c= "); scanf("%f",&c); delta=(b*b)-(4.0*a*c); printf("delta=%f\n",delta); if (a==0 && b==0 && c==0) printf("Tout réel est une solution de cette équation.\n"); else if (a==0 && b==0) printf("Cette équation ne possède pas de solutions.\n"); else if (a==0) { printf("La solution de cette équation du premier degré est :\n"); printf(" x = %.4f\n", -c/b); } else if (delta>0) { printf("Les solutions réelles de cette équation sont :\n"); printf(" x1 = %.4f\n",(-b - sqrt(delta))/2*a ); printf(" x2 = %.4f\n",(-b + sqrt(delta))/2*a ); } else if (delta==0) { printf("Cette équation a une seule solution réelle :\n"); printf(" x = %.4f\n", -b/(2*a)); } else { printf("Pas de solutions réelles pour cette équation\n"); } } int main () { int continuer=1; while (continuer==1) { calculequation(); printf("Voulez-vous résoudre une autre équation ? Entrez 1 pour oui et 0 pour non\n"); scanf("%d\n",&continuer); } return 0; }
Partager