Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile
PB-geany
Je na sais pas si la photo s'affiche, sinon voici le liens.
Merci d'avance pour une éventuelle réponse smile

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 smile) :

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 smile

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 smile Je pensais qu'il fallait le mettre juste après "gcc", merci beaucoup bonne soirée smile

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