[newbie][C] pb avec scanf

pb avec scanf [newbie][C] - C++ - Programmation

Marsh Posté le 16-06-2002 à 15:04:54    

Je sais je vais passer pour un gros blaireau :/ mais voila: je debute en C, donc popur le moment je m'amuse a refaire tous mes tp de pascal en c (avec MS VC++), et j'ai un pb: pkoi le prog suivant me demande 4 valeurs et ne prend pas en compte la derniere ? il me demande un evaleur apres avoir rentré a et avant de rentrer b :??:
 

Code :
  1. #include <stdio.h>
  2. float a=0,b=0,c=0,d;
  3. void main()
  4. {
  5. printf("coeff de x^2 : " );
  6. scanf("%f\n", &a); //saisie de a
  7. printf("coeff de x : " );
  8. scanf("%f\n", &b);//saisie de b
  9. printf("terme constant : " );
  10. scanf("%f\n", &c);//saisie de c
  11. d=(b*b)-(4*a*c);
  12. printf("\n a=%2.0f \n b=%2.0f \n c=%2.0f \n",a,b,c);
  13. printf("\nd=%5.2f\n",d);
  14. if (d==0)
  15. {
  16.  printf("\nx=%5.2f\n", -b/(2*a));
  17. }
  18.     else if (d>0)
  19. {
  20.  printf("\nx1= %5.2f\n", (-b-d)/(2*a));
  21.  printf("x2= %5.2f\n", (-b+d)/(2*a));
  22. }
  23. else
  24. {
  25.  printf("\npas de solutions reelle\n" );
  26. }
  27. }


 
Svp si vous avez une idée...


Message édité par BigBrother le 28-06-2002 à 18:03:27

---------------
L'invariance de l'univers lorsqu'on change de referentiel...
Reply

Marsh Posté le 16-06-2002 à 15:04:54   

Reply

Marsh Posté le 16-06-2002 à 17:34:55    

retires les \n qui sont inclus dans tes scanf et mets plutot après un printf("\n" );
 
c surement pour ca que ça ne marche pas très bien !!!
 
ex :  
 

Code :
  1. printf("coeff de x^2 : " );
  2. scanf("%f", &a); //saisie de a  
  3. printf("\n" );


 
evites aussi d'utiliser des variables globales plus tes programmes vont se compliquer plus elles risquent de te poser problème !!! et ça risque de devenir une mauvaise habitude !


Message édité par Mystnux le 16-06-2002 à 17:36:30
Reply

Marsh Posté le 16-06-2002 à 21:00:49    

merci :jap:
Et ne t'inquiete pas pour les globales c juste un prog de 30 lignes sans fonctions...g deja l'habitude pour ce qui est un peu plus complexe ;).


---------------
L'invariance de l'univers lorsqu'on change de referentiel...
Reply

Marsh Posté le 17-06-2002 à 08:32:57    

Surtout fait un fflush sur stdin aprés chaque scanf:

Code :
  1. scanf("%f", &c);
  2. fflush(stdin);


---------------
Le Tyran
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed