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 :

Erreur de compilation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 5
    Par défaut Erreur de compilation
    Salut à tous,
    j'ai écrit un programme qui réduit un nombre décimal à l'entier le plus proche.
    Mais lors de la compilateur, j'obtiens ce message d'erreur suivant:

    /tmp/ccclvADX.o: dans la fonction « main »:
    arrondi.c: (.text+0x2b): référence indéfinie vers « floor »
    arrondi.c: (.text+0x65): référence indéfinie vers « ceil »
    collect2: ld returned 1 exit status
    Voici le code source:

    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
      #include <stdio.h>
          #include <stdlib.h>
          #include <math.h>
          int main()
          { 
            double nombre, x; 
            scanf("%d",&nombre); 
            x=floor(nombre); 
           if( (x-nombre)<=0.5) 
           {  
             printf("%d\n",x); 
           } else 
                 {       
                   x=ceil(nombre);       
                   printf("%d\n",x);      
                 }
           return 0;
    }
    Sytème: GNU/Linux Debian Etch, Gcc version 4

    Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Par défaut
    Tu dois lier ton programme avec la bibliothèque de fonctions mathématique.

    http://www.developpez.net/forums/d28...qrt-gcc-linux/

  3. #3
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Une petite astuce est de faire ceci

    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
     
        #include <stdio.h>
        #include <stdlib.h>
        #include <math.h>
     
        int main(void)
        { 
            int resultat;
            double nombre; 
     
            scanf("%lf",&nombre);
            resultat = floor(nombre + 0.5);
     
            printf("%d\n", resultat); 
     
        }

    EDIT : Erreur dans le code signalé par Diogene.

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Format incorrect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            double nombre; 
     
            scanf("%lf",&nombre);

  5. #5
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Ah oui, effectivement.

    J'ai fait un gros copier coller, et j'ai laisser passer ca.

    Merci de me le faire remarquer Diogene. (J'edit mon message).

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

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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