Pages : 1
#1 Le 30/09/2012, à 13:46
- ExponentielleX
Probleme de compilation
Bonjour, je suis un débutant en programmation et j'utilise Geany pour compiler et exécuter mes programmes. Mais je n'arrive pas a utiliser les fonctions de la librairie "math.h", il y a une erreur
quand je compile. Voila un screen pour que vous compreniez le problème
Je na sais pas si la photo s'affiche, sinon voici le liens.
Merci d'avance pour une éventuelle réponse
Dernière modification par ExponentielleX (Le 04/10/2012, à 18:27)
Hors ligne
#2 Le 01/10/2012, à 06:24
- elendil
Re : Probleme de compilation
Salut,
Première remarque : Geany est un éditeur de texte et ton problème vient d'un code a priori en écrit en C si j'en crois l'extension de ton fichier et "#include <math.h>". Donc change le titre de ton message !!!!
Ensuite ton erreur (on notera l'utilisation des balises 'code' pour une mise en page plus sympa à lire ) :
nomdufichier.c:43:19: erreur: called object ‘1.4142135623730951454746218587388284504413604736328125e+0’ is not a function
semble vouloir dire que tu utilises l'objet "1.41..." à la ligne 43 comme une fonction alors que ça n'en est pas une.
Mais on ne pourra pas t'aider plus sans le code source qui va avec et la version de gcc utilisée pour compiler.
Bonne journée,
Elendil
Dernière modification par elendil (Le 01/10/2012, à 06:25)
Hors ligne
#3 Le 04/10/2012, à 18:23
- ExponentielleX
Re : Probleme de compilation
Merci pour ta réponse, tu as raison. Je pense que maintenant c'est plus explicite avec l'imprime écran
Hors ligne
#4 Le 04/10/2012, à 19:20
- pingouinux
Re : Probleme de compilation
Bonjour,
Je ne vois pas pourquoi il y a un problème avec sqrt. Tu peux éventuellement poster le programme C (entre balises-codes).
D'autre part, les tests sur les coefficients a et b me semblent inversés.
Hors ligne
#5 Le 04/10/2012, à 20:03
- ExponentielleX
Re : Probleme de compilation
Merci pour ta réponse, en effet le test de a et b était mauvais j'avais oublier de les modifier.
Voila le programme :
#include <stdio.h>
#include <math.h>
int main(void)
{
double a,b,c,delta,x1,x2;
printf("Un polynome du second degré s'écrit sous la forme de ax²+bx+c.\n") ;
printf("Entrez la valeur de a : \n");
scanf("%lf",&a);
printf("Entrez la valeur de b : \n");
scanf("%lf",&b);
printf("Entrez la valeur de c : \n");
scanf("%lf",&c);
if (a==0)
{
if (b==0)
{
if (c==0)
{
printf("0=0 Ensembles des solutions infini.");
}
else
{
printf("Il n'y a pas de solution");
}
}
else
{
printf("C'est une equation du second degres, il n'y a qu'une seule racine reelle : x = -%lf/%lf ",c,b);
}
}
else
{
delta = b*b ;
delta = delta -4*(a*c);
if (delta>=0)
{
if (delta>0)
{ x1= -b -sqrt(delta);
x1= x1/(2*a);
x2=-b + sqrt(delta);
x2= x2/(2*a);
printf("Les solutions sont %lf et %lf",x1,x2);
}
else
{
x1=-b;
x1=x1 / (2*a);
printf("L'unique solution est %lf",x1);
}
}
else
{
x1=-b;
x1=x1/(2*a);
x2= sqrt(-delta/(2*a));
printf("Les deux racines complexes conjuguées sont Z1 = %lf + %lf *j et Z2 = %lf - %lf *j.",x1,x2,x1,x2);
}
}
return 0 ;
}
Mais le souci n'est pas tellement la validité du code mais la non gestion de la librairie "math.h"...
Hors ligne
#6 Le 04/10/2012, à 20:24
- pingouinux
Re : Probleme de compilation
Dans la compilation, il faut mettre -lm à la fin de la ligne.
Remarque : Quand tu envoies des informations volumineuses, prends l'habitude de les mettre entre balises-codes <>.
Hors ligne
#7 Le 04/10/2012, à 20:33
- ExponentielleX
Re : Probleme de compilation
Ça fonctionne Je pensais qu'il fallait le mettre juste après "gcc", merci beaucoup bonne soirée
Hors ligne
#8 Le 04/10/2012, à 20:36
- pingouinux
Re : Probleme de compilation
Il fut un temps où c'était comme ça.
Remarques :
N'oublie pas le "\n" à la fin du format des printf.
Dans le cas de l'équation du 1er degré, tu pourrais calculer le quotient.
Hors ligne
Pages : 1