amelioration fonction
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

amelioration fonction



  1. #1
    invite865d2ebc

    amelioration fonction


    ------

    Bonjour. Je voudrais appeller une fonction et lui passer un paramètre qui permettrait de changer une variable à l'intérieur de cette fonction ...
    Je m'explique, actuellement je fonctionne comme ceci :

    void calcul1()
    {
    change_groupe1();
    deplacer_groupe1();
    }
    void calcul2()
    {
    change_groupe2();
    deplacer_groupe2();
    }

    j'aimerais avoir une seule fonction calcul qui fonctionnerait comme ça :

    void calcul( char i )
    {
    change_groupe'i'();
    deplacer_groupe'i'();
    }

    Est ce qu'il existe une solution pour résoudre mon problème ?

    Merci

    -----

  2. #2
    sdec25

    Re : amelioration fonction

    Bonjour,
    On pourrait utiliser les pointeurs sur fonction.
    L'idée est d'avoir un tableau {1 -> change_groupe1, 2 -> change_groupe2, ...}.
    Mais il y a un inconvénient : il faut que le tableau contienne toutes les fonctions, et il faut s'assurer que l'indice est dans le tableau.
    Le plus simple serait d'avoir une fonction change_groupe(char i).

  3. #3
    Jack
    Modérateur

    Re : amelioration fonction

    Tu es sur d'avoir besoin d'une fonction aussi générique?

    Dans l'affirmative, il est possible de passer par des pointeurs de fonctions. Tu fais un tableau dans les élément sont des pointeurs sur tes différentes fonctions. En se servant du paramètre comme index dans le tableau, tu pourras appeler la bonne fonction.

    A+

    Edit: grillé par sdec25

  4. #4
    invite865d2ebc

    Re : amelioration fonction

    En fait le programme est beaucoup plus long et mon but serait justement de ne pas avoir à réécrire la meme fonction plusieurs fois.
    Ensuite l'autre problème, c'est que je n'ai pas que des fonctions qui doivent changer de variables :

    void calcul1()
    {
    change_groupe1();
    deplacer_groupe1();

    groupe1 = 0;
    }

    Est il possible de mettre une variable dans les variables ?

  5. A voir en vidéo sur Futura
  6. #5
    sdec25

    Re : amelioration fonction

    Est il possible de mettre une variable dans les variables ?
    Comme tu l'as mis dans ton premier message, non. Une fonction n'est qu'une adresse donc ce n'est pas possible d'appeler une fonction avec un nom dynamique.

    Sinon il y a un moyen très simple : les tableaux.
    Pour tes variables groupe1, groupe2, ... :
    soit tu crées un tableau de pointeurs {&groupe1, &groupe2, ...}
    soit tu remplaces les variables groupeX par un tableau groupe[] (c'est ce que je ferais).

  7. #6
    invite865d2ebc

    Re : amelioration fonction

    AAAA.
    Ok. Je n'avais pas compris comment je pouvais utiliser ces tableaux.
    Je vais essayer ça. Merci beaucoup sdec25

Discussions similaires

  1. [Génétique] Amélioration animale
    Par invite3b0d094d dans le forum Biologie
    Réponses: 4
    Dernier message: 09/11/2008, 21h22
  2. Amélioration du signal
    Par invite2229770f dans le forum Électronique
    Réponses: 6
    Dernier message: 14/03/2008, 11h06
  3. amélioration génétique
    Par invite3087b192 dans le forum Éthique des sciences (archives)
    Réponses: 16
    Dernier message: 28/02/2008, 17h38
  4. Amélioration du vin.
    Par invite8e86a13d dans le forum Chimie
    Réponses: 1
    Dernier message: 10/11/2005, 07h31
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...