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 :

passage d'un vecteur en parametre


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 28
    Par défaut passage d'un vecteur en parametre
    Bonsoir voilà je n'arrive pas à faire passer mon vecteur combinaison en paramètre à ma fonction jeu afin que ma fonction compare pointe sur le vecteur combinaison ainsi que sur le vecteur jeu

    Code C : 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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    ////////////////////////////////////////////////////
    #include<stdio.h>
    #include<stdlib.h>
    #include<windows.h>
    #include<conio.h>
    #include<time.h>
    ////////////////////////////////////////////////////
     
     
    ////////////////////////////////////////////////////
    void initialisation(char *);
    void jeu(char);
    void affichage(char *,char *);
    void compare();
     
    ////////////////////////////////////////////////////
     
     
     
     
     
     
    /////////////////////////////////////////////////////
    void main()											
     
    {						
     
    char combinaison[4];
     
    initialisation(&combinaison[0]);
    jeu(combinaison[4]);		
     
     
     
     
     
     
    }
     
    ////////////////////////////////////////////////////
     
    void jeu(char combinaison[4])
    {
     
     int i;
     char jeux[4];
     
     
    	for(i=0;i<4;i++)
    	{
    	printf("saisir une lettre  :");
    	scanf("%c",jeux[i]);
     
    	}
    affichage(&combinaison[0],&jeu[0]);
     
    }
    ////////////////////////////////////////////////////
     
    void initialisation(char *pi)
    {
    	int i,x;
    	char symbole[7]={"HTLWXYZ"};
     
    	srand((unsigned)time(NULL));
     
    	for(i=0;i<4;i++)
    	{
    	x=rand()%7;
    	*pi=symbole[x];
    	}
     
     
     
     
    }
     
    ////////////////////////////////////////////////////
     
    void affichage(char *pc,char *pj)
    {
    	int i;
     
     
    	for(i=0;i<4;i++)
    	{
     
    		printf("%c\t",*pc);
    		pc++;
     
     
     
    	}
    	for(i=0;i<4;i++)
    	{
     
    		printf("%c\t",*pj);
    		pj++;
     
     
     
    	}
     
     
    }
     
    void compare()
    {
     
     
     
    }
    Voila ce qui dit mon compilateur
    --------------------Configuration: LC20 - Win32 Debug--------------------
    Compiling...
    LC20.c
    C:\Documents and Settings\Lionel\Bureau\HERS\LC20\LC20.c(44) : warning C4028: formal parameter 1 different from declaration
    C:\Documents and Settings\Lionel\Bureau\HERS\LC20\LC20.c(56) : error C2109: subscript requires array or pointer type
    C:\Documents and Settings\Lionel\Bureau\HERS\LC20\LC20.c(56) : warning C4047: 'function' : 'char *' differs in levels of indirection from 'void (__cdecl *)(char )'
    C:\Documents and Settings\Lionel\Bureau\HERS\LC20\LC20.c(56) : warning C4024: 'affichage' : different types for formal and actual parameter 2
    Error executing cl.exe.

    LC20.obj - 1 error(s), 3 warning(s)

    Merci d'avance

  2. #2
    Membre confirmé Avatar de Linu6
    Profil pro
    Inscrit en
    Août 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 227
    Par défaut
    A vue d'oeil je dirais qu'il te manque un "x" a la fin du "jeu" (qui est confondu avec la fonction jeu).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    affichage(&combinaison[0],&jeu[0]);
    et par ailleurs ta fonction jeu() est censé recevoir en argument un tableau et non un caractère. (vérifie donc le prototype).

    a+

  3. #3
    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
    Voici une tentative de correction partielle:

    Code C : 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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
     
    #define SYMBOLES "HTLWXYZ"
     
    void initialisation(char *pi, size_t taille)
    {
        size_t i;
        size_t x;
     
        for (i = 0; i < taille - 1; i++)
        {
            x = rand() % 7;
            pi[i] = SYMBOLES[x];
        }
    }
     
    void affichage(char combinaison[], char jeu[])
    {
        if (combinaison != NULL && jeu != NULL)
        {
            printf("Combinaison: %s\n", combinaison);
            printf("Jeu: %s\n", jeu);
        }
    }
     
    void jeu(char combinaison[], size_t taille)
    {
     
        size_t i;
        int input;
        char jeu[5] = "";
     
        for (i = 0; i <  taille - 1; i++)
        {
            do
            {
                printf("saisir une lettre: ");
                /* -tc- on force l'affichage de l'invite */
                fflush(stdout);
                input = getchar();
                if (input != '\n' && input != EOF)
                {
                    int c;
     
                    while ((c = getchar()) != '\n' && c != EOF)
                    {
                    }
                }
            }
            while (strchr(SYMBOLES, input) == NULL);
     
            jeu[i] = input;
     
        }
        affichage(combinaison, jeu);
    }
     
    /* -tc- main() retourne un entier de type int, TOUJOURS! */
    int main(void)
    {
        char combinaison[5] = "";
     
        /* -tc- on initialise le generateur de nombres pseudo-aleatoires au debut
           du programme */
        srand(time(NULL));
     
        initialisation(combinaison, sizeof combinaison);
        jeu(combinaison, sizeof combinaison);
     
        /* -tc- main() doit retourner 0, EXIT_SUCCESS ou EXIT_FAILURE */
        return 0;
    }

    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. passage d'une fonction en parametre d'une fonction
    Par psylox dans le forum Langage
    Réponses: 5
    Dernier message: 06/10/2008, 16h40
  2. Passage d'un pointeur en parametre
    Par vandamme dans le forum C++
    Réponses: 3
    Dernier message: 15/06/2008, 22h10
  3. passage d'un tableau en parametre d'une fonction
    Par ataya dans le forum C++Builder
    Réponses: 10
    Dernier message: 26/10/2005, 13h30
  4. [POO] passage nom objet dsn les parametres d'une fonction
    Par melou dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/10/2005, 17h26
  5. passage d'une variable en parametre
    Par duga dans le forum Langage
    Réponses: 4
    Dernier message: 11/09/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