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 :

Utiliser return avec condition if , else sur 2 fonctions


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut Utiliser return avec condition if , else sur 2 fonctions
    salut à tous et à toutes ;



    j'ai essayer avant d'hier d'écrire un programme qui me renvois l'une des deux fonctions SI l'une des 2 fonctions à été apellée par l'apellant .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int foo1 ( int *donnee1, int *donnee2)
     
    {
    /* Code  */ 
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int foo2 ( int *val1 , int *val2 , int *val3)
     
    {
    /* Code  */ 
     
    }

    Le but du code est d'apeller l'une de ces deux fonctions avec condition .

    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
    30
     
     
     
    int ma_fonction ( int param, int a,int b)
    {
     
    int resultat = 0;
     
     
    switch ( param)
     
    {
     
    case  1 :
     
    if (resultat == 1)   // si result == 1 On appelle la variable foo1
     
     return foo1 ( donnee1 , donnee2);
     
    /* 
    si la premiere condition est FAUSSE 
    on appelle FOO2 */
     
    else return foo2 ( val1 , val2 , val3);
     
     
    break;
    default:break;
     
    }
    Le probléme dans ce code c'est SAUF la premiére variable (foo1) qui est renvoyée pas la deuxiéme .
    Pour renvoyée la deuxiéme variable foo2 , je dois la mettre en premier .


    En langage C éxiste t'il une solution pour analyser 2 conditions et renvoyer celle qui est apeller par l'apellant .



    Merci pour vos différents conseils .

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    ça devrait marcher..

    C'est que tu as une erreur autre part...

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    ça devrait marcher..

    C'est que tu as une erreur autre part...
    salut souviron34 ;


    Tout à fait , mais return me renvoie la premiére variable (FOO1) et IGNORE la 2 éme qui est FOO2 .
    Lorsque je mets la 2 éme variable (FOO2) en premier c'est celle ci qui est renvoyée et le reste est ignorer .

    Comment changer le code et apeller variable 1 || variable 2 SI elles sont appeller par l'appellant dans une instruction SWITCH .

    Les variables apellées sont foo1 & foo2 , mais SAUF l'une des 2 variables et renvoyée , c'est la variable qui se trouve en premier .

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    tu devrais mettre ta fonction réelle, parce que tel que c'est écrit là ça marche, mais je suppose que tu n'as pas posté le code complet..

    Et de plus il faiudrait l'appel de cette fonction..

    PS: je ne comprend pas ce que tu entends (ou en tous cas tu ne t'exprimes pas clairement) quand tu dis : "SAUF" ..

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    RE :

    je souhaite appeller 2 fonctions foo1 & foo2 mais retourner qu'une seule VALEUR.

    Appel de 2 fonctions mais RETOURNER une SEULE des 2 fonctions avec condition
    Resultat .

    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
    30
    31
     
    int main ( int parametre, int a, int b )
    {
    int Result = 0; 
    double res1, res2;
     
    switch (parametre)
    {
    case DEBUG:
    res1 = fonction1(a,b);         // On appelle la fonction1
    res2 = fonction2(val1,val2,val3);  // On appelle la fonction2
     
    if (Result)     // j'ai changer a if (Result == 1 )   c'est OK  
     
    //return res1;     // le résultat est  n'est pas renvoyer
     
    return fonction1(a,b);   // le résultat est  renvoyer
     
    else return res2; // le résultat n'est pas renvoyer
     
    break;
     
    default: break;
     
     
    }
     
     
     
     
    }

  6. #6
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Pour la lisibilité, on évite d'avoir plusieurs "return" dans une meme fonction.
    Il faut procéder de la manière suivante quand c'est possible :
    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
    int ma_fonction (int param, int a, int b)
    {
        int res;
     
        [..]
     
        if (condition == VRAIE)
        {
            res = foo1();
        }
        else
        { 
            res = foo2();
        }
     
        return res;
    }

  7. #7
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Salut,

    Citation Envoyé par Marley_T
    Appel de 2 fonctions mais RETOURNER une SEULE des 2 fonctions avec condition
    Resultat .
    Normale ! ta variable 'Resultat' est initialisée mais, jamais modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int Result = 0; 
    <...>
    if (Result == 1 )  /* sera toujours FAUSSE */
    {
         return fonction1(a,b); /* ne sera jamais executée */
    }
    else
    {
          return res2; 
    }
    Le prototype de ton main n'est ni standard ni portable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int main ( int parametre, int a, int b )
    /*  Prototypes valides de  main()    */
     int main(void);
     int main(int argc, char * argv[]);
    @++

  8. #8
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    D'abord ta fonction est un int et tu renvoies un double
    Ensuite tu utilises des valuers non définies (Val1, Val2, Val3)


    Voilà quelque chose comme exemple :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    double MaFonction ( int parametre, int a, int b, 
                        double val1, double val2, double val3 )
    {
       double res =0.0;
     
       switch (parametre)
       {
          case 0 : 
               res = fonction1(a,b);
               break ;
     
          case 1 : 
               res = fonction2(val1,val2,val3);
               break;
     
          default :
              break ;
       } 
     
       return res ; 
    }
     
    int main ( void )
    {
      int Param = 0 ;
      double Res  = 0.0 ;
      double  val1, val2, val3 ;
      int        a, b ;
     
     
      a = 0 ;
      b = 1 ;
      val1 = 0.0 ;
      val2 = 1.0 ;
      val3 = 2.0 ;
     
       Res = MaFonction ( Param, a, b, Val1, Val2, Val3 );
       fprintf ( stderr, "Le résultat est %g\n", Res);
     
      return EXIT_SUCCESS ;
    }

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    ça devrait marcher..

    C'est que tu as une erreur autre part...
    salut et merci à vous tous pour vos différents conseils conçernant ce sujet .

    Le code à été amélioré mais le probléme c'est qu'il retourne la premiére variable pas la deuxiéme .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int fonction1 ( int *a, int *b)
     
    {
    /* Code  */ 
     
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int fonction2 ( int *val1 , int *val2 , int *val3)
     
    {
    /* Code  */ 
     
    }

    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
     
    int main ( int *parm, int *a, int *b )
    {
    int Resultat = 0; 
    double res1, res2;
     
    switch (param)
    {
    case DEBUG:
    res1 = fonction1(a,b);   // appelle fonc1
    res2 = fonction2(val1,val2,val3);  // appelle fonc2
     
        if (Resultat == true )   
     
    return res1;     
    else return res2;
     
    break;
     
    }
    Le Probléme :

    Comment créer une condition qui renvois la fonction1 si ==VRAIE et renvois la fonction2 si == VRAIE .

    Si conditiion == VRAIE alors appeller fonction1 et RETOURNER sa valeur qui est
    fonction1(a,b).
    Sinon appeller fonction2 et RETOURNER sa valeur fonction2(val1,val2,val3).

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par ssmario2 Voir le message
    Salut,


    Normale ! ta variable 'Resultat' est initialisée mais, jamais modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int Result = 0; 
    <...>
    if (Result == 1 )  /* sera toujours FAUSSE */
    {
         return fonction1(a,b); /* ne sera jamais executée */
    }
    else
    {
          return res2; 
    }


    d'accord ,MERCI , comment tu aurais créer une condition qui te renvois la fonction1 si ==VRAIE et renvois la fonction2 si == VRAIE .

    Si conditiion == VRAIE alors appeller fonction1 et RETOURNER sa valeur qui est
    fonction1(a,b).
    Sinon appeller fonction2 et RETOURNER sa valeur fonction2(val1,val2,val3).

  11. #11
    Membre éprouvé Avatar de yakamoneye
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 108
    Par défaut
    Citation Envoyé par crocodilex Voir le message
    Pour la lisibilité, on évite d'avoir plusieurs "return" dans une meme fonction.
    Il faut procéder de la manière suivante quand c'est possible :
    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
    int ma_fonction (int param, int a, int b)
    {
        int res;
     
        [..]
     
        if (condition == VRAIE)
        {
            res = foo1();
        }
        else
        { 
            res = foo2();
        }
     
        return res;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int res;
     
        [..]
     
        if (condition == VRAIE)
    c'est à la place du [...] qu'il faut mettre une suite d'instructions qui auront pour effet de modifier ta variable "condition" probablement en fonction des différentes valeurs que ma_fonction reçoit en paramètres.

    Mais cette suite d'instructions est propre à ton algorithmie, il n'y à que toi qui sache ce que ton programme doit faire.

  12. #12
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    RE :


    Je vais illustrer par un exemple pour que les gens qui n'ont pas compris puissent cérner le probléme .



    On souhaite écouter 2 Radios qui sont EUROPE1 et FUN_RADIO
    Si on séléctionne EUROPE1 on va écouter EUROPE1 Si on séléctionne FUN_RADIO bah on va écouter FUN_RADIO .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int ecouter_europe1(int *frequence , int *débit)
    {
     /*  CODE  */
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int ecouter funradio ( int *frequence , int *débit)
    {
     /* CODE  */
    }

    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
     
     
    int main ( int *ecouter_la_radio ,  int *a, int *b )
    {
     
    int selecionner ; 
     
    double res1, res22;
     
     
    switch (ecouter_la_radio)
    {
    case   RADIOS:
    res1 =  ecouter_europe1(frequence , débit);   // pour écouter EUROPE1
    res2 =  ecouter_funradio(frequence , débit); // pour écouter EUROPE1
     
        if (selectionner == true )   
     
    return res1;    // ecouter EUROPE1
    else  if (selectionner == true )   return res2;  // ecouter FUN RADIO 
     
    break;
     
          }
     
     return selectionner ; // On renvois la valeur 
     
      }


    Si on séléctionne EUROPE1 on va ecouter EUROPE1 SI on séléctionne FUN_RADIO on va écouter FUN_RADIO .

  13. #13
    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
    Désolé. Personnellement, après avoir lu et relu les posts, je n'ai toujours pas compris quel était ton problème et ce que tu voulais obtenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    res1 =  ecouter_europe1(frequence , débit);   // pour écouter EUROPE1
    res2 =  ecouter_funradio(frequence , débit); // pour écouter EUROPE1
    if (selectionner == true )   return res1;    // ecouter EUROPE1
    else  if (selectionner == true )   return res2;  // ecouter FUN RADIO
    ....else if (selectionner == true ) : la condition est impossible à satisfaire

  14. #14
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par diogene Voir le message
    Désolé. Personnellement, après avoir lu et relu les posts, je n'ai toujours pas compris quel était ton problème et ce que tu voulais obtenir

    salut diogene

    Lorsque le programme arrive à la CASE RADIOS il renvois ecouter EUROPE1 si on souhaite écouter EUROPE1 , SI on veut ecouter FUN RADIO le programme renvois ecouter FUN_RADIO .


    SI tu veut écouter FUN RADIO le programme te renvois FUN_RADIO .
    SI tu veut écouter EUROPE1 le programme te renvois EUROPE1

  15. #15
    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
    D'après ce que je comprend (mais j'ai de gros doutes d'avoir compris la question), on peut faire quelque chose du genre :

    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
    typedef enum {Silence, Europe1, FunRadio} Radio;
    Radio  ecouter_Europe1(......)
    {
    ....
      return Europe1;
    }
    Radio  ecouter_Funradio(......)
    {
    ....
      return Funradio;
    }
    Radio Ecouter ( Radio ecouter_la_radio ,  ....)
    {
       switch(ecouter_la_radio)
       {
          case Europe1  : return ecouter_Europe1(......);
          case FunRadio : return ecouter_Funradio(......);
       }
       return Silence
    }

  16. #16
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par diogene Voir le message
    D'après ce que je comprend (mais j'ai de gros doutes d'avoir compris la question), on peut faire quelque chose du genre :

    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
    typedef enum {Silence, Europe1, FunRadio} Radio;
    Radio  ecouter_Europe1(......)
    {
    ....
      return Europe1;
    }
    Radio  ecouter_Funradio(......)
    {
    ....
      return Funradio;
    }
    Radio Ecouter ( Radio ecouter_la_radio ,  ....)
    {
       switch(ecouter_la_radio)
       {
          case Europe1  : return ecouter_Europe1(......);
          case FunRadio : return ecouter_Funradio(......);
       }
       return Silence
    }


    salut diogene et merci .


    En gros c'est à peu prés ça , mais ON DOIT passer un paramétre à la case ECOUTER_LA_RADIO , si condition == TRUE alors renvois EUROPE1
    SI condition == TRUE ( TOUJOURS VRAI == 1) alors renvois FUN_RADIO .


    CASE ecouter_la_radio = APELLANT .
    Les fonctions apellées sont : Ecouter fun_radio et ecouter_europe1.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    #ifndef __bool_true_false_are_defined 
     
    #define VRAI 1
    #define FAUX 0 
     
    #define bool int
    #define __bool_true_false_are_defined
    #endif


    Extrait de la régle en C :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    typedef enum {FALSE=0,TRUE} BOOL;
     
    en C, lors d-un test, la valeur 0 désigne un faux, tandis que tout valeur non nulle désigne un vrai.
     
    La norme C99 introduit la notion de booléen (_Bool) et l-entête <stdbool.h> définit true, false et bool ainsi que __bool_true_false_are_defined qui permet de savoir si les booléens sont nativement supportés.
    Une solution permettant d-écrire un code portable utilisant les types natifs sur un compilateurs conforme C99 et définissant un type booléen personnel dans le contraire consiste à utiliser __bool_true_false_are_defined.

  17. #17
    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
    Je ne comprends pas ce que tu veux dire :
    En gros c'est à peu prés ça , mais ON DOIT passer un paramétre à la case ECOUTER_LA_RADIO
    Qu'est-ce que ce paramètre à passer ? D'où vient-il ? De quel type est-il ? Qu'est ce que c'est la case ECOUTER_LA_RADIO ?

    si condition == TRUE alors renvois EUROPE1
    SI condition == TRUE ( TOUJOURS VRAI == 1) alors renvois FUN_RADIO .
    Qu'est ce que c'est que condition ? EUROPE1 et FUN_RADIO sont des valeurs ? De quel type ?

    CASE ecouter_la_radio = APELLANT .
    ????

    Extrait de la régle en C :
    Pourquoi ces considérations sur les booléens dans ce sujet ?

  18. #18
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par diogene Voir le message
    Je ne comprends pas ce que tu veux dire :

    Entier .


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Qu'est ce que c'est la case ECOUTER_LA_RADIO ?
    Lorsque le programme arrive à la case ECOUTER_RADIO il retourne SOIT EUROPE1 OU FUN RADIO si == TRUE .


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Qu'est ce que c'est que condition ?
    Condition : si == TRUE alors renvoyer la valeur de FUN_Radio
    si == TRUE alors renvoyer la valeur d'EUROPE1


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EUROPE1 et FUN_RADIO sont des valeurs ?
    Deux fonctions .

    De quel type ?

    int (ENTIER ).

    Pourquoi ces considérations sur les booléens dans ce sujet ?
    Si on condition == TRUE alors ecouter FUN RADIO.
    Si on condition == TRUE alors ecouter EUROPE1.


    Est ce qu'on peut RETOURNER la VALEUR de 2 fonctions .

  19. #19
    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
    Lorsque le programme arrive à la case ECOUTER_RADIO il retourne SOIT EUROPE1 OU FUN RADIO si == TRUE .
    Si quoi == true ?

    Condition : si == TRUE alors renvoyer la valeur de FUN_Radio
    si == TRUE alors renvoyer la valeur d'EUROPE1
    ?????

    Je crois qu'il te faut exprimer ton problème clairement, avec des termes précis (d'ailleurs, si tu le fais, il y a de fortes chances que tu trouves toi même la réponse). Pour le moment, j'ai l'impression de répondre un peu au hasard en espérant que tes réactions me feront comprendre ton problème.

    Tel que tu poses ton problème, on répond
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(condition) return EUROPE1(....);
    else return FUN_RADIO(....);
    réponse déjà donnée par les différents intervenants.

    Est ce qu'on peut RETOURNER la VALEUR de 2 fonctions .
    Une fonction peut retourner UNE valeur. Si on veut retourner une information constituée à partir de plusieurs valeurs, on peut utiliser une structure dont les champs sont initialisés avec les différentes valeurs et retourner la structure.
    Naturellement, une fonction peut retourner une valeur mais pas forcément toujours la même. Tout dépend de la valeur mise dans le return qui fait quitter la fonction.

  20. #20
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 94
    Par défaut
    Citation Envoyé par diogene Voir le message
    Si quoi == true ?
    salut diogene

    SI condition = VRAI alors renvoyer valeur .


    Une fonction peut retourner UNE valeur. Si on veut retourner une information constituée à partir de plusieurs valeurs, on peut utiliser une structure dont les champs sont initialisés avec les différentes valeurs et retourner la structure.
    Naturellement, une fonction peut retourner une valeur mais pas forcément toujours la même. Tout dépend de la valeur mise dans le return qui fait quitter la fonction.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Tel que tu poses ton problème, on répond
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12
    if(condition) return EUROPE1(....);
    else return FUN_RADIO(....);
    réponse déjà donnée par les différents intervenants.

    Tout à fait , MAIS le programme renvois EUROPE1 PAS FUN RADIO .

    le programme renvois fonction1 PAS la fonction2 .

Discussions similaires

  1. [AC-2010] Requete SOMME avec condition 'non vide' sur un autre champ
    Par LAURENTN45 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 11/12/2012, 20h46
  2. [Batch] Problème syntaxe avec condition if ( ) else () pour NT
    Par carreau dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 14/10/2011, 18h45
  3. Requête avec condition en AND sur deux tables
    Par sologne dans le forum Requêtes
    Réponses: 3
    Dernier message: 19/05/2011, 11h09
  4. Conditions If Else sur CSS
    Par chok371 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2010, 15h56
  5. Utiliser MySqlAdmin avec des droits utilisateurs sur XP
    Par thorgal85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/03/2005, 12h19

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