Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de fonction

Sujet résolu
    21 novembre 2007 à 18:32:07

    Bon voila, Je suis sous Ubuntu et j'apprends à programmer en C (pour le moment avec l'éditeur de texte et le terminal). j'ai voulu faire un programme qui convertit les euros en franc et vis-versa. Le voici:
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. long menu()
    4. {
    5.     long selection;
    6.     selection = 0;
    7.     while (selection < 1 || selection > 4)
    8.        {
    9.           printf(" ==== menu ==== \n");
    10.           printf("1. franc -> euros \n");
    11.           printf("2. euros -> franc \n");
    12.           printf("Votre choix? ");
    13.           scanf("%ld", &selection);
    14.        }
    15. return selection;
    16. }
    17. double conversion(double euros)
    18. {
    19.     double francs = 0;
    20.     francs = 6.55957 * euros;
    21.     return francs;
    22. }  
    23. double conversion2(double francs)
    24. {
    25.     double euros = 0;
    26.     euros = francs / 6.55957;
    27.     return euros;
    28. }  
    29. int main(int argc, char *argv[])
    30. {  
    31. double francs = 0, euros = 0;
    32.    switch (menu())
    33.      {
    34.        case 1:
    35.             printf("Entrez le nombre a convertir: ");
    36.             scanf("%lf", &francs);
    37.             convertion2(francs);
    38.             euros = francs;
    39.             printf("%lfF = %lf euros \n", francs, euros);
    40.         break;
    41.        case 2:
    42.             printf("Entrez le nombre a convertir: ");
    43.             scanf("%lf", &euros);
    44.             convertion(euros);
    45.             francs = euros;
    46.             printf("%lf euros = %lfF \n", euros, francs);
    47.         break;
    48.      }
    49.     return 0;
    50. }


    Mais quand je le compile, le terminal me renvoi:
    /tmp/ccDkCYKJ.o: In function `main':
    convertisseur.c:(.text+0x114): undefined reference to `convertion2'
    convertisseur.c:(.text+0x162): undefined reference to `convertion'
    collect2: ld a retourné 1 code d'état d'exécution


    J'ai tout essayé, j'arrive pas à résoudre le problème.



    • Partager sur Facebook
    • Partager sur Twitter
      21 novembre 2007 à 18:35:01

      Bonjour.

      conversion != convertion
      conversion2 != convertion2

      Tout simplement une faute de frappe
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        21 novembre 2007 à 18:36:30

        Tu déclares
        double conversion(double euros)
        


        et tu appelles
        convertion(euros);
        


        Ca ne peut pas marcher ^^
        • Partager sur Facebook
        • Partager sur Twitter

        Problème de fonction

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown