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 :

pointeurs et paramètre


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut pointeurs et paramètre
    Bonjour,

    j'ai vu plusieurs façon de programmer le jeu master mind mais j'aimerais utiliser des fonctions avec POINTEURS!
    j'ai des problème pour la vérification des valeurs surtout avec les pointeurs! ( paramètre)

    quelqu'un pourrait m'expliquer à comprendre?

    merci



    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    #include <stdlib.h>
    #include <stdio.h>
     
     
    void intro ()
    void initvect ()
    void demande_nbr ()
    void verif ()
     
    void main (void)
     
    {
    intro();
    initvect();
    demande_nbre();
    verif ();
     
    }
     
     
     
     
     
    void intro ()/* introduction*/
    {
    printf(" bienvenue dans le jeu\n");
    printf(" ***MASTER MIND** \n");
     
    printf(" voici les regles du jeu:\n");
    printf(" essaie de deviner une combinaison de quatre couleurs parmi les sept proposés\n");
    printf(" attention!!! vous avez droit a 10 essais!!!!!\n");
    printf(" **voici les couleurs proposés**\n");
     
    printf(" 1 = rouge\n");
    printf(" 2 = bleu\n");
    printf(" 3 = vert\n");
    printf(" 4 = jaune\n");
    printf(" 5 = blanc\n");
    printf(" 6 = orange\n");
    printf(" 7 = noir\n");
    } /* fin introduction*/
     
    void initvect () /* remplissage du vecteur par des nombres aléatoires*/
    {
    int nbr;
     
     
    srand(time(NULL));
     
    nbr = rand()%7+1;
     
     
    } /* fin remplissage du vecteur */
     
    void demande_nbre ()/* demande des essais de l'utilisateur */
     
    {
    int cpt;
    int essai;
     
     
     
    printf("vous avez 10 essais\n");
    printf(" proposez\n ");
     
    for( cpt =0;cpt<4;cpt++)
    {
    printf(" la %d e position est la couleur", cpt+1);
    scanf(" %d",&essai);
    }
    } /* fin de demande*/
     
    void verif () /* verification des nombres encodés*/
     
    {
    if (
     
     
     
     
     
     
     
    } /* fin verification*/

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Commençons par le commencement, la fonction

    Citation Envoyé par alexei46
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void initvect (void) /* remplissage du vecteur par des nombres aléatoires*/
    {
        int nbr;
     
     
        srand(time(NULL));
     
        nbr = rand()%7+1;
     
     
    } /* fin remplissage du vecteur */
    Qu'est-ce qui te fait dire que cette fonction initialise un tableau de nombres aléatoires? De plus, tes fonctions ne communiquent absolument pas entre elles.

    A part cela, tu peux commencer par corriger ça:
    • la fonction main() doit retourner un entier de type int.
    • Pour qu'une declaration soit un prototype, il faut indiquer qu'une
    • fonction ne prend pas de parametre a l'aide de void


    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre émérite

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Par défaut
    bonjour,

    Une chose me chiffone aprés avoir lu ce bout de code :
    je croyais qu'un pointeur devait etre déclarer a l'aide de l'opérateur *... Vu que je ne l'apercoit pas dans ce code me tromperais-je si je dis que ce code ne contient pas de pointeur et qu'il serait donc difficile de comprendre leur fonctionnement en l'étudiant ?

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par nayah Voir le message
    bonjour,

    Une chose me chiffone aprés avoir lu ce bout de code :
    je croyais qu'un pointeur devait etre déclarer a l'aide de l'opérateur *... Vu que je ne l'apercoit pas dans ce code me tromperais-je si je dis que ce code ne contient pas de pointeur et qu'il serait donc difficile de comprendre leur fonctionnement en l'étudiant ?
    Tu ne te trompes pas, ce code ne contient aucun pointeur.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void initvect (*vect[i],*i) /* remplissage du vecteur par des nombres aléatoires*/
    {
        int nbr;
     
     for (i=0; i<4; i++)
    {
        srand(time(NULL));
     
        nbr = rand()%7+1;
     }
     
    } /* fin remplissage du vecteur */

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    As-tu essayé de prendre un livre de C et de comprendre ce que tu écris. J'ai l'impression que tu programmes à l'avengle et en tâtonnant. Ce n'est pas la bonne méthode. Essaie de rédiger une spécification clair de ce que doit faire ton programme. Ensuite de concevoir comment décomposer le problème pour en faciliter la résolution i.e. de définir les sous-problèmes que devra résoudre ton programme (jusqu'ici: il n'y a absolument pas de C).

    C'est seulement une fois que toutes ces choses sont clarifiées que la phase d'implantation peut commencer. Ici, tu veux donc écrire une fonction qui prend en paramètre l'adresse d'un tableau, ainsi que le nombre d'élément de ce tableau et tu voudrais le remplir avec des nombre aléatoires. Le prototype correct est donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void initvect (int *vect, size_t taille)
    {
        /* suite du code */
    }
    Je te laisse ensuite compléter, en sachant que srand() doit être appelé une seule fois par programme (en général au début de main).

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. Pointeurs et paramètres de fonction
    Par tom31 dans le forum Débuter
    Réponses: 2
    Dernier message: 12/01/2008, 20h58
  2. Passer un pointeur en paramètre d'une fonction
    Par oranoutan dans le forum C
    Réponses: 18
    Dernier message: 11/09/2007, 21h48
  3. Réponses: 14
    Dernier message: 07/06/2007, 19h40
  4. Problème de pointeurs en paramètres.
    Par Epok__ dans le forum C
    Réponses: 17
    Dernier message: 24/01/2007, 12h36
  5. Réponses: 10
    Dernier message: 04/01/2006, 16h57

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