Comment modifier les paramètres d'une fonction appelée dans la fonction main.
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Comment modifier les paramètres d'une fonction appelée dans la fonction main.



  1. #1
    invite41f2c340

    Comment modifier les paramètres d'une fonction appelée dans la fonction main.


    ------

    Bonjour , j'espère que vous allez bien.
    Pour vous aider à mieux me comprendre, voyons ce petit programme :

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int mafonction ( int a, int b)
    {  int nombreMyst;
       int MAX,MIN;
      srand(time(NULL));
      nombreMyst=( rand() % ( MAX - MIN + 1)) - MIN;
      printf("le nombre mystere est : %d", nombreMyst);
    return 0;
    
    }
    
    int main ()
    { 
     int nb1,nb2;
     printf(" entrez deux nombres ..." );
     scanf("%d%d",&nb1,&nb2);
     mafonction(nb1,nb2);
     return 0;
     }
    J'aimerais donner la valeur nb1 à la valeur MAX , et nb2 à la valeur MIN.
    Mais je ne sais pas ce qui se passe, je n'obtiens pas le résultat attendu quand j'exécute.
    Merci de m'aider à bien comprendre.

    -----
    Dernière modification par JPL ; 02/04/2020 à 14h38. Motif: ajout de la balise Code (#) pour garder l’indentation

  2. #2
    invite41f2c340

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Svp besoin d'aide ici ...

  3. #3
    Ikhar84
    Animateur Informatique

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Un truc comme ça ?

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int mafonction ( int MIN, int MAX) {
        int nombreMyst = 0;
        
        srand(time(NULL));
        nombreMyst=( rand() % ( MAX - MIN + 1)) - MIN;
        
        return nombreMyst;
    } 
    
    int main () { 
        int nb1,nb2, nombreMyst;
    
        printf(" entrez deux nombres ..." );
        scanf("%d%d",&nb1,&nb2);
    
        nombreMyst = mafonction(nb1,nb2);
    
        printf("le nombre mystere est : %d", nombreMyst);
        
        return 0;
    }
    J'ai glissé Chef !

  4. #4
    umfred

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    ou alors:
    MIN=nb1;
    MAX=nb2;
    étrange comme question, c'est le B.A.BA de la programmation il me semble, l'affection.

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

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Dans le cas présent ce serait plutôt MAX=b et MIN=a dans mafunction je crois. Ou la solution d’Ikhar84 qui est plus propre.

  7. #6
    umfred

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par pm42 Voir le message
    Dans le cas présent ce serait plutôt MAX=b et MIN=a dans mafunction je crois. Ou la solution d’Ikhar84 qui est plus propre.
    autant pour moi ^^

  8. #7
    pm42

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par umfred Voir le message
    autant pour moi ^^
    Rien de grave. Et pour t'embêter, c'est "au temps pour moi". Rassure toi, j'ai fait la même erreur longtemps, c'est contre-intuitif

  9. #8
    Jack
    Modérateur

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par umfred Voir le message
    étrange comme question, c'est le B.A.BA de la programmation il me semble, l'affection.
    Quand on aime, on ne compte pas

    Sinon, pour au temps / autant pour moi, les 2 expressions sont admises, et il m semble qu'on n'a pas encore statué sur l'antériorité d'une sur l'autre.

  10. #9
    umfred

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par pm42 Voir le message
    Rien de grave. Et pour t'embêter, c'est "au temps pour moi". Rassure toi, j'ai fait la même erreur longtemps, c'est contre-intuitif
    je le sais en fait, j'ai eu la flemme de corriger mais je crois que les 2 formes sont plus ou moins acceptées (de part l'usage). Il y a débat mais l'académie française préconise, en effet, "au temps pour moi". (https://www.projet-voltaire.fr/regle...tant-pour-moi/)
    c'est un peu comme le débat entre pain au chocolat et chocolatine (j'espère que je ne vais pas ouvrir involontairement ce débat houleux ici )
    (du coup je suis obligé d'écrire plus long que si j'avais corrigé )
    Dernière modification par umfred ; 02/04/2020 à 18h11.

  11. #10
    invite41f2c340

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Merci pour toutes vos réponses. Il faut aussi que vous sachiez que je suis un débutant.
    Ikhar84 je comprend parfaitement ce que le programme que tu as proposé, et c'est justement ce que je veux faire.
    Mais, j'aimerais que la fonction mafonction ne renvoie pas de valeur, qu'elle execute seulement un traitement.
    Dans mon programme à moi, quand j'ai fait appel à la fonction mafonction dans la fonction main, c'était pour que mafonction fasse le reste du travail qui a été commencé dans ka fonction main.

  12. #11
    pm42

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par Georges10 Voir le message
    M
    Mais, j'aimerais que la fonction mafonction ne renvoie pas de valeur, qu'elle execute seulement un traitement.
    Tu remplaces int par void
    Code:
    void mafonction ( int MIN, int MAX) {
    et tu ne mets pas de return dedans. C'est aussi simple que ça.

  13. #12
    invite41f2c340

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    pm42 je sais très bien ce que tu dis.

    En fait, je veux comprendre pourquoi mon programme ne marche pas.
    Quand je l'exécute, je constate que le problème est que mes variables Max et Min ne sont respectivement pas égaux à nb1 et nb2 lorsque je fais appel à la fonction mafonction dans la fonction main.
    Merci pour vos réponses !

  14. #13
    Jack
    Modérateur

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    La question est: pourquoi voudrais-tu qu'elles soient égales? Quelles instructions as-tu prévues pour que ce soit le cas?

  15. #14
    pm42

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    Citation Envoyé par Georges10 Voir le message
    Quand je l'exécute, je constate que le problème est que mes variables Max et Min ne sont respectivement pas égaux à nb1 et nb2 lorsque je fais appel à la fonction mafonction dans la fonction main.
    J’ai du mal à te suivre. Tu as déjà posé cette question, tu as eu plusieurs réponses, tu as posé une autre question, j’y réponds et tu reposes la 1ère ?

  16. #15
    umfred

    Re : Comment modifier les paramètres d'une fonction appelée dans la fonction main.

    il faut aussi savoir que MIN et Min sont pour programme 2 variables différentes (idem pour MAX et Max), si ça peut aider.

Discussions similaires

  1. limite d'une fonction à paramètres
    Par invite167a496e dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 29/10/2019, 10h06
  2. Maple, fonction Odeplot comment obtenir une couleur en fonction du temps ?
    Par invite8810fee1 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 28/11/2010, 22h05
  3. Comment insérer une fonction Matlab dans les paramètres d'entrée d'une autre fonction ??
    Par inviteac36b108 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 04/01/2010, 08h16
  4. Comparaison en fonction de paramètres
    Par invite234d9cdb dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 25/02/2008, 22h19
  5. fonction avec paramètres
    Par invite7afa3ac7 dans le forum Mathématiques du collège et du lycée
    Réponses: 3
    Dernier message: 22/11/2007, 19h23