Programme simple de calcul

Résolu
Bonjour,

j'ai fait un programme qui doit calculer un résultat à partir de deux autres nombres, le problème, c'est que de base, j'obtiens toujours zéro et j'ai 3 erreur que je n'arrive pas à supprimer :

#include <stdio.h>
#include <stdlib.h>

int main()
{
//On déclare les trois variables//
double a, b, resultat;
//on exprime le resultat en fonction de a et de b
resultat=((a+b)*a-b*a)/a-a);
printf ("Entrez un reel : ");
do{
printf ("Entrez un reel a \n");
scanf("%lf", &a);
}
while(a==0)
scanf ("%lf", &a);
if (a==0)
printf ("Ce calcul n'est pas possible ! \n");
else printf (" Le calcul est possible");
printf ("Entrez un deuxieme reel : ");
scanf ("%lf", &b);
printf (" Le calcul donne %lf\n" , resultat);
return 0;
}

2 réponses

  1. Modérateur
    Tu dois toujours calculer ton résultat en fonction de a et b APRES avoir défini la valeur de a et b, sinon ça n'a aucun sens !
    1. #include <stdio.h>
      #include <stdlib.h>

      int main()
      {
      double a, b, resultat;
      printf ("Entrez un reel : ");
      do{
      printf ("Entrez un reel a \n");
      scanf("%lf", &a);
      }
      while(a==0);
      scanf ("%lf", &a);
      if (a==0)
      printf ("Ce calcul n'est pas possible ! \n");
      else printf (" Le calcul est possible");
      printf ("Entrez un deuxieme reel : ");
      scanf ("%lf", &b);
      resultat =((a+b)*a-b*a)/a-a);
      printf (" Le calcul donne %lf\n" , resultat);
      return 0;
      }

      Et maintenant ?
      1. Modérateur
        Maintenant tu enlèves la parenthèse en trop que tu as sur
        resultat =((a+b)*a-b*a)/a-a); 
        et tu testes. Il y a deux ou trois coquilles à corriger mais globalement ça fera ce que tu veux.

        Remarque : Il est tout à fait normal que tu obtiennes toujours 0, vu que c'est ce que tu lui demandes de calculer !!
      2. Ce que je lui demande de calculer ?
      3. Modérateur
        Peu importe la valeur de a (sauf 0) ou b, tu auras toujours ((a+b)*a-b*a)/a-a = 0
      4. Il fonctionne