Rechercher : dans
Par :

Problème compilation [débutant]

Dernière réponse le 27 oct 2006 à 00:55:02 SlaapwageN, le 26 oct 2006 à 17:51:46 
 Signaler ce message aux modérateurs

Bonjour, voila mon problème, lorsque je souhaite compiler ce programme, j'ai pour erreur : `abs' undeclared (first use this function)

#include "stdio.h" 


int main()
    {
    int A,B,diff;
    
    printf("entre la de valeur A");
    scanf("%d",&A);
    printf("entre la de valeur B");
    scanf("%d",&B);
    while (A!=B)
          {
          diff=abs(A-B);
          if (A>B) A = Diff;
          else B = Diff;
          }
    printf("le pgcd est est %d/n", A);
    return 0;
}

Merci de m'aider.

PS : j'ai une deuxième question, dans ce mini prog, pourquoi la fenêtre lorsque j'execute le prog se ferme t elle directement ?

#include "stdio.h"

int main()
{
    printf("laurent tas interet à m'avoir ramener mes cds!");
    
    return 0;
}


Merci beaucoup :)

Meilleures réponses pour « Problème compilation [débutant] » dans :
Compiler un programme assembleur avec Nasm Voir Avec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
[Linux] Débuter sous Linux VoirDÉBUTER SOUS LINUX Qu'est-ce que Linux ? Si vous venez de Windows I - LES LIVE-CDS I-1 Quelles distributions choisir ? I-2 Utilisation II - INSTALLER LINUX II-1 Partitionner son disque dur II-2 Multiboot Windows/Linux II-3 Quelles...
[Programmation] Comment débuter, quel langage? VoirComment débuter, quel langage? Introduction Ceux que l'on peut utiliser Delphi/Pascal Java Python .Net Smalltalk Ceux que l'on peut utiliser à la rigueur C/C++ PHP Ada Lisp/Caml/... Ceux que l'on peut ne pas utiliser
La compilation et les modules en C et en C++ VoirCet article a pour vocation d'introduire les notions de bases de la compilation en C et en C++ et de la programmation modulaire. Il permet de mieux comprendre les messages d'erreur du compilateur. Les notions abordées ici sont indépendantes du...

1

mamiemando, le 26 oct 2006 à 19:56:29
  • +1

1er programme

Pour commencer les headers standards sont entre <> (seuls tes headers sont entre " ") :

#include <stdio.h>
#include <math.h>

Ensuite la fonction abs n'existe que si tu compiles avec la librairie mathématique (option -lm pour gcc) :
gcc -W -Wall -lm -o plop.exe plop.c

Mais sinon le plus simple c'est de redéfinir toi même la fonction abs :
int abs(int x){
  if (x<0) return x;
  return -x;
}

int main(){
...
}


2e programme

Même remarque pour le header.

La fenêtre se ferme car windows tue la console dans laquelle est exécuté le programme dès que celui-ci prend fin (je suppose que tu lances ton programme en double cliquant dessus dans l'explorateur de fichier). Soit il faut lancer le programme depuis une console msdos (démarrer éxecuter cmd), soit il faut rajouter l'instruction
getchar();

... devant le "return 0;" du main.

Bonne chance

Répondre à mamiemando

2

SlaapwageN, le 26 oct 2006 à 23:29:08

Tout simplement =)
Merci beaucoup !

Répondre à SlaapwageN

3

lami20j, le 26 oct 2006 à 23:57:22

Salut,

pour obtenir la valeur absolue ce n'est pas plutôt

  if (x>=0) return x;
  return -x;
ou si on utilise l'opérateur <
  if (x<0) return -x;
  return x;
lami20j

Répondre à lami20j

4

 mamiemando, le 27 oct 2006 à 00:55:02

Oui effectivement :p

int abs(int x){
  if (x<0) return -x;
  return x;
}

Répondre à mamiemando