IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

appel d'une bibliothèque


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut appel d'une bibliothèque
    bonjour,

    j'ai écris un programme qui résout une équation du second degrés : equation.c

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    #include<stdio.h>
    #include<math.h>
    #include"constante.h"
     
    main()   {
     
    int  a,b,c ; float delta, x1 ,x2 ; 
     
     
     
    delta = pow(b,2)-4*a*c ;
     
    if  (delta<0) printf (" pas de solution de l'équation dans l'ensemble des réels\n");
     
    else  
     
         if (delta==0)
     
           { x1= -b/2*a ;
             printf (" solution unique égale à : %f\n", x1) ; }
     
         else 
           {  x1= (-b-pow(delta,1/2))/2*a;
     
              x2= (-b+pow(delta,1/2))/2*a;
              printf ("solution double égale à : %f\n   %f\n ", x1 , x2) ; }
     
    }


    les coéfficients sont déclarés sous forme de constante dans une bibliothèque constante.h dont le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #define a 9
    #define b 2
    #define c 4
    lors de la compilation : j'ai compilé d'abord constante.h , ensuite equation.c
    le résultat est : equation.c:3:22: erreur: constante.h : Aucun fichier ou dossier de ce type

    pourtant en compilant constante.h aucune erreur n'est affichée !!!

    une idée de la source du problème? , merci de partager

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 486
    Par défaut
    Bonjour,

    Citation Envoyé par batoule80 Voir le message
    lors de la compilation : j'ai compilé d'abord constante.h , ensuite equation.c
    le résultat est : equation.c:3:22: erreur: constante.h : Aucun fichier ou dossier de ce type
    Le message d'erreur est clair : lors de la compilation, tu inclus « constante.h », mais le compilateur ne trouve pas ce fichier. Vérifie qu'il est dans le bon répertoire.

    Ensuite :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #define a 9
    #define b 2
    #define c 4
     
    main()   {
     
    int  a,b,c ; float delta, x1 ,x2 ;

    Tes macros portent le même nom que tes variables ! Ce n'est pas de cette manière que l'on affecte une valeur. Soit tu utilises uniquement tes macros dans tes équations et, dans ce cas, tu retires « int a,b,c », soit tu utilises des variables et là, tu les initialises à la bonne valeur avec :


    et tu retires complètement tes #defines et ton fichier « constante.h ».

  3. #3
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    merci Obsidian pour ta réponse ,

    en fait au début je saisisais les valeurs des coefficients grace à scanf mais maintenant il est demandé de récupérer ces valeurs depuis cette bibliothèque constante.h et cette dernière se trouve dans le meme répertoire que equation.c

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 486
    Par défaut
    Citation Envoyé par batoule80 Voir le message
    en fait au début je saisisais les valeurs des coefficients grace à scanf mais maintenant il est demandé de récupérer ces valeurs depuis cette bibliothèque constante.h
    Dans ce cas, étant donné que les valeurs de a, b et c restent toujours inchangées, tu peux te passer des variables. Cela reste pas très propre, cependant. L'usage veut que les nom de macros soient écrits en majuscules. C'est mieux si tu utilises A, B et C. Cela ne changera rien au niveau de la compilation, mais ça sera plus facile à repérer pour un programmeur.

    Pour être tout-à-fait exact, « constante.h » n'est pas à proprement parler une bibliothèque. Mais ce n'est pas bien grave pour le moment.

    et cette dernière se trouve dans le meme répertoire que equation.c
    Si les deux fichiers se trouvent dans le même répertoire, peut-être est-ce l'endroit d'où tu lances la compilation qui n'est pas le bon.

    Quel compilateur utilises-tu ? Quel système d'exploitation ? Es-tu sûr(e) que « constante.h » est bien orthographié, à la fois dans ton code et dans le nom du fichier ?

  5. #5
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    Pour être tout-à-fait exact, « constante.h » n'est pas à proprement parler une bibliothèque. Mais ce n'est pas bien grave pour le moment.
    je suis novice, et je commence à faire mes premiers pas en C , et il s'agit de mon premier programme

    Si les deux fichiers se trouvent dans le même répertoire, peut-être est-ce l'endroit d'où tu lances la compilation qui n'est pas le bon.
    je dois le mettre où ce repertoire ?

    Quel compilateur utilises-tu ? Quel système d'exploitation ?
    en fait j'ai utilisé deux systèmes différents : mandriva et ubuntu , le compilateur aucune idée mais pour compiler j'ai utilisé la commande GCC

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Es-tu sûr(e) que « constante.h » est bien orthographié, à la fois dans ton code et dans le nom du fichier ?
    constante.h est bien orthographié .

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 486
    Par défaut
    en fait j'ai utilisé deux systèmes différents : mandriva et ubuntu , le compilateur aucune idée mais pour compiler j'ai utilisé la commande GCC
    Ok, donc tu travailles sous Linux.

    Par contre, j'avais mal lu ceci :

    lors de la compilation : j'ai compilé d'abord constante.h , ensuite equation.c
    le résultat est : equation.c:3:22: erreur: constante.h : Aucun fichier ou dossier de ce type. pourtant en compilant constante.h aucune erreur n'est affichée !!!
    Il ne faut pas compiler « constante.h » ! C'est un fichier qui est inclus par « equation.c ». Quelles sont les commandes exactes que tu as saisies pour compiler ces deux fichiers ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] Comment appeler afficher une image de la bibliothèque ?
    Par EriCstoFF dans le forum WinDev
    Réponses: 3
    Dernier message: 17/07/2013, 08h02
  2. [OpenPGP] Appeler une bibliothèque
    Par silma dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/02/2013, 17h02
  3. appeler une bibliothèque Java (JNI?)
    Par pythéas dans le forum C++
    Réponses: 3
    Dernier message: 14/12/2011, 23h17
  4. [DOM] Utilisation d'une bibliothèque de tri avec appel AJAX
    Par GreatDeveloperOnizuka dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/02/2008, 11h09
  5. Réponses: 3
    Dernier message: 20/06/2006, 07h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo