Rien à voir avec Linux, c'est du code standard...
Citation :
si voulez bien jetter un oeil sur mon programe
Je doit faire un programe qui calcul une equation du second degrée, avec DELTA :
#include <stdio.h>
#include <math.h>
main()
|
[C99] main() doit retourner le type int explicitement.
Citation :
{
int a,b,c;
float x,x1,x2,delt;
|
Les calculs sont plus précis avec le type 'double'
Euh, non. La fonction sqrt() est déclarée dans math.h. Mieux vaut éviter les conflits!
Citation :
printf("saisir les reelles a,b,c" );
|
Manque un espace (lisibilité) et un fflush (stdout) (pas de '\n')
Citation :
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
|
Peu de gens savent utiliser *scanf() correctement (tape 'a' pour voir...)
Les autres utilisent fgets() et la fonction de conversion qui va bien.
http://mapage.noos.fr/emdel/notes.htm#saisie
Citation :
delt=((b*b)-4*(a*c));
if(delt>0)
{
x1=-b-sqrt(delt)/(2*a);
x2=-b+sqrt(delt)/(2*a);
printf("delta= %f\n",delt);
printf("x1= %f\n",x1);
printf("x2= %f\n",x2);
}
|
La logique est fausse. (manque un else)
La syntaxe est fausse. ('==' et non '=')
La syntaxe est fausse. (manque un ; ) C'est dur à voir ça ?
Citation :
printf("delta= %f\n",delt);
printf("x= %f\n",x);
}
else
{
printf("pas de solution" );
|
manque un \n.
Il manque un
return 0;
Message édité par Emmanuel Delahaye le 24-01-2005 à 22:57:33
---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/