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 :

Problemes avec les fonctions


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Problemes avec les fonctions
    Bonsoir,
    je suis actuellement en train de réaliser un projet pour mes cours, un mastermind en langage C. Mon problème vient du fait qu'il doit être structuré en sous fonction et que j'ai un peu de mal avec ça.
    Voici le structurogramme:



    Je rencontre actuellement 2 problèmes:

    1) Dans ma fonction verifierCombi, je compare la chaine générée par GenererCombiAleatoire à la chaine ProposerCombi.
    J'ai le droit a 10 essais (10 x ProposerCombi donc) donc j'ai fait un do (VerifierCombi) while dans la fonction jeu.

    Le problème est dans la fonction VerifierCombi, en effet a chaque nouvelle tentative, j'ai une nouvelle solution (la chaine de Generercombialeatoire) alors que je voudrais avoir une seule solution du début à la fin du jeu.Et j'avoue que je ne sais pas comment remédier à ce problème après avoir planché quelques heures dessus.

    2) Mon second problème est que l'utilisateur doit rentrer 2 fois sa combinaison et je ne vois pas d'où cela vient exactement. Je pense que le problème vient de cette ligne de code dans la fonction jeu car quand je la retire je n'ai plus ce problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void jeu()
    {
    char solution[5],proposition[5],proposition1[5],test1[5];
    int essai=1;
    GenererCombiAleatoire(solution);
    printf("solution : %s\n",solution);
    do
    {printf("Proposition %d\n",essai);
    VerifierCombi(proposition1,test1);
    AfficherJeu(&essai);// CETTE LIGNE 
    essai++;}
    while(essai<=10&&strcmp(proposition1,solution)!=0);
    }
    Voici le code complet:

    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
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
     
    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    #include <stdlib.h>
     
    void AfficherJeu(int *essai);
    void VerifierCombi(char * proposition1, char * test1);
    void ProposerCombi(char * proposition);
    void GenererCombiAleatoire(char * solution);
    void jeu();
    int main()
    {
    srand(time(NULL));
    jeu();
    }
     
     
    void jeu()
    {
    char solution[5],proposition[5],proposition1[5],test1[5];
    int essai=1;
    GenererCombiAleatoire(solution);
    printf("solution : %s\n",solution);
    do
    {printf("Proposition %d\n",essai);
    VerifierCombi(proposition1,test1);
    AfficherJeu(&essai);
    essai++;}
    while(essai<=10&&strcmp(proposition1,solution)!=0);
    }
     
    /*--------------------------------------------
    Création de la fonction qui génère la combinaison aléatoire et qui la renvoye dans jeu*/
     
    void GenererCombiAleatoire(char * solution)
    {
      char Lettres[7]="RVBJOM";
      int a;
        for(a=0;a<=3;a++)
        solution[a]=Lettres[rand()%6];
        solution[4] = '\0';
    }
     
    /*---------------------------------------------
    Fin de la fonction qui génère la combinaison aléatoire*/
     
    /*---------------------------------------------
    Début de la fonction qui demande à l'utilisateur de rentrer une proposition*/
    void ProposerCombi(char * proposition)
    {
     int a;
     
    do{scanf("%s",proposition);
    for(a=0;a<=3;a++)
    proposition[a]=toupper(proposition[a]);
    if(strlen(proposition)!=4||proposition[0]!='R'&&proposition[0]!='V'&&proposition[0]!='B'&&proposition[0]!='J'&&proposition[0]!='O'&&proposition[0]!='M'||proposition[1]!='R'&&proposition[1]!='V'&&proposition[1]!='B'&&proposition[1]!='J'&&proposition[1]!='O'&&proposition[1]!='M'||proposition[2]!='R'&&proposition[2]!='V'&&proposition[2]!='B'&&proposition[2]!='J'&&proposition[2]!='O'&&proposition[2]!='M'||proposition[3]!='R'&&proposition[3]!='V'&&proposition[3]!='B'&&proposition[3]!='J'&&proposition[3]!='O'&&proposition[3]!='M')
    printf("Combinaison impossible. Recommencez!\n");}
    while(strlen(proposition)!=4||proposition[0]!='R'&&proposition[0]!='V'&&proposition[0]!='B'&&proposition[0]!='J'&&proposition[0]!='O'&&proposition[0]!='M'||proposition[1]!='R'&&proposition[1]!='V'&&proposition[1]!='B'&&proposition[1]!='J'&&proposition[1]!='O'&&proposition[1]!='M'||proposition[2]!='R'&&proposition[2]!='V'&&proposition[2]!='B'&&proposition[2]!='J'&&proposition[2]!='O'&&proposition[2]!='M'||proposition[3]!='R'&&proposition[3]!='V'&&proposition[3]!='B'&&proposition[3]!='J'&&proposition[3]!='O'&&proposition[3]!='M');
    proposition[4] = '\0';
    }
    /*---------------------------------------------
    Fin de la fonction*/
     
    void VerifierCombi(char * proposition1,char *test1)
    {
    char solution[5],proposition[5],test[5];
    int z;
    ProposerCombi(proposition);
    strcpy(proposition1,proposition);
    GenererCombiAleatoire(solution);
     
    printf("solution dans verifier combi: %s \n",solution);
    for(z=0;z<=3;z++)
                    {
            if(proposition[z]==solution[z])//Quand la lettre est au bon endroit dans la combinaison
                test[z]='N';
            else if (proposition[z]!=solution[0]&&proposition[z]!=solution[1]&&proposition[z]!=solution[2]&&proposition[z]!=solution[3])//Quand la lettre n'est pas présente dans la combinaison
                test[z]='.';
            else test[z]='B';//Quand la lettre est présente mais pas à la bonne place
                    }
            test[4] = '\0' ;
    strcpy(test1,test);
     
    //printf("%s\n",test);
    }
     
    void AfficherJeu(int *essai)
    {
    char test1[5],proposition1[5];
    int z=10,a;
     
    VerifierCombi(proposition1,test1);
    printf("%s\n",test1);
    printf("____________________________________________");
    for(z=10;z>=*essai+1;z--)
    printf("\n[[%2d]-[ (*) (*) (*) (*) ] [ [.] [.] [.] [.] ]",z);
    printf("\n");
    printf("[[%2d]-[ ",*essai);
    for(a=0;a<=3;a++)
    printf("(%c) ",proposition1[a]);
    printf("] ");
    printf("[ [%c] [%c] [%c] [%c] ]",test1[0],test1[1],test1[2],test1[3]);
    }
     
    /*Probleme avec Afficherjeu dans la fonction jeu, elle fait que je doit rentrer 2 fois ma proposition
    Probleme avec Generercombialeatoire, il crée une nouvelle combinaison a chaque fois
    */
    Si je me suis mal exprimé ou que vous avez des questions à propos de mon code n'hésitez surtout pas.

    Merci d'avance à ceux qui m'aideront.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    En cherchant mieux j'ai réussi j'ai résoudre mes 2 problèmes.

    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
    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
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    #include <stdlib.h>
     
    void AfficherJeu(int *essai);
    void VerifierCombi(char * proposition1, char * test1,char * solution);
    void ProposerCombi(char * proposition);
    void GenererCombiAleatoire(char * solution);
    void AfficherMenu();
    void jeu();
    void regles();
    void initialisation();
    void AfficherResultat(char *proposition1,char *resultat,int *essai);
     
    int main()
    {
    char choix[2];
    srand(time(NULL));
    AfficherMenu();
    //On demande à l'utilisateur ce qu'il veux faire
            do  {
                fflush(stdin);//Permet de ne pas avoir 2 fois le contenu du printf quand l'utilisateur entre une lettre ou un chiffre non-contenu dans le while ou quand il redemande le menu.
                printf("Que voulez-vous faire ? \n");
                scanf("%s",choix);
                choix[0]=toupper(choix[0]);
                    if(choix[0]!='J'&&choix[0]!='R'&&choix[0]!='Q'||strlen(choix)!=1)
                    printf("\nVeuillez entrer la lettre 'J' pour jouer, 'R' pour voir les r%cgles ou 'Q' pour quitter.\a\n\n",138);
                }
            while(choix[0]!='J'&&choix[0]!='R'&&choix[0]!='Q'||strlen(choix)!=1);
     
     
    switch(choix[0]){
                            case 'J' : jeu();
                            break;
                            case 'R' : regles();
                            break;
                            case 'Q' : printf("\nVeuillez appuyer sur une touche pour quitter.\n");
                            exit;
                }
     
    }
    /*Fonction qui affiche le résultat*/
        void AfficherResultat(char *proposition1,char *solution,int *essai)
        {
     
    if(strcmp(proposition1,solution)==0)
    printf("Bravo vous avez r%cussi %c trouv%c la solution qui %ctait %s en %d coup(s)!\n",130,133,130,130,solution,*essai-1);
    else printf("Dommage! Vous n'avez pas trouv%c la solution qui %ctait %s.",130,130,solution);
     
        }
        void AfficherMenu()
        {
            printf("\n---------------------------------\nProgramme r%calis%c par l'%ctudiant : Legrain Thomas\nSection : 1ere IRT   Groupe : 4\nAnn%ce acad%cmique : 2009/2010\nNom de l'enseignant : De Bodt\nProjet : Jeu de Mastermind\n---------------------------------",130,130,130,130,130);
            printf("\n\n=============MENU=============\n\n(J)ouer\n(R)%cgles du jeu\n(Q)uitter\n\n===============================\n\n\n",138);
        }
    //Procédure pour afficher les règles.
        void regles()
        {
            printf("\nVous avez choisi d'afficher les r%cgles du jeu.",138);
            printf("\n\n============REGLES============\n");
            printf("\nLe programme choisit une combinaison de 4 pions de couleurs au hasard");
            printf("\nparmi 6 couleurs disponibles.Cette combinaison de pions peut contenir");
            printf("\nplusieurs fois la m%cme couleur.Vous devez essayer de la deviner en",136);
            printf("\nproposant au maximum dix combinaisons.Pour chaque tentative le programme");
            printf("\nindique les couleurs bien plac%ces (via la lettre 'N')et les couleurs mal",130);
            printf("\nplac%ces (via la lettre 'B').Si le nombre maximal d'essais est atteint,",130);
            printf("\nle programme indique au joueur qu'il a perdu et donne la combinaison.");
     
            main();
        }
     
     
    void jeu()
    {
    char solution[5],proposition[5],proposition1[5],test1[5];
    int essai=1;
    GenererCombiAleatoire(solution);
    printf("%s",solution);
    while(essai<=10&&strcmp(proposition1,solution)!=0)
    {initialisation();
    printf("\n\nProposition %d\n",essai);
    VerifierCombi(proposition1,test1,solution);
    AfficherJeu(&essai);
    essai++;}
    AfficherResultat(proposition1,solution,&essai);
     
    }
     
    /*--------------------------------------------
    Fonction qui donne les couleurs disponibles à chaque proposition pour plus de visibilité*/
    void initialisation()
    {
    printf("=======================================================================");
    printf("\nCouleurs disponibles : (R)ouge,(V)ert,(B)leu,(J)aune,(O)range,(M)arron.\n");
    printf("=======================================================================");
     
    }
    /*--------------------------------------------
    Fin fonction*/
     
    /*--------------------------------------------
    Création de la fonction qui génère la combinaison aléatoire et qui la renvoye dans jeu*/
     
    void GenererCombiAleatoire(char * solution)
    {
      char Lettres[7]="RVBJOM";
      int a;
        for(a=0;a<=3;a++)
        solution[a]=Lettres[rand()%6];
        solution[4] = '\0';
    }
     
    /*---------------------------------------------
    Fin de la fonction qui génère la combinaison aléatoire*/
     
    /*---------------------------------------------
    Début de la fonction qui demande à l'utilisateur de rentrer une proposition*/
    void ProposerCombi(char * proposition)
    {
     int a;
     
    do{scanf("%s",proposition);
    for(a=0;a<=3;a++)
    proposition[a]=toupper(proposition[a]);
    if(strlen(proposition)!=4||proposition[0]!='R'&&proposition[0]!='V'&&proposition[0]!='B'&&proposition[0]!='J'&&proposition[0]!='O'&&proposition[0]!='M'||proposition[1]!='R'&&proposition[1]!='V'&&proposition[1]!='B'&&proposition[1]!='J'&&proposition[1]!='O'&&proposition[1]!='M'||proposition[2]!='R'&&proposition[2]!='V'&&proposition[2]!='B'&&proposition[2]!='J'&&proposition[2]!='O'&&proposition[2]!='M'||proposition[3]!='R'&&proposition[3]!='V'&&proposition[3]!='B'&&proposition[3]!='J'&&proposition[3]!='O'&&proposition[3]!='M')
    printf("Combinaison impossible. Recommencez!\n");}
    while(strlen(proposition)!=4||proposition[0]!='R'&&proposition[0]!='V'&&proposition[0]!='B'&&proposition[0]!='J'&&proposition[0]!='O'&&proposition[0]!='M'||proposition[1]!='R'&&proposition[1]!='V'&&proposition[1]!='B'&&proposition[1]!='J'&&proposition[1]!='O'&&proposition[1]!='M'||proposition[2]!='R'&&proposition[2]!='V'&&proposition[2]!='B'&&proposition[2]!='J'&&proposition[2]!='O'&&proposition[2]!='M'||proposition[3]!='R'&&proposition[3]!='V'&&proposition[3]!='B'&&proposition[3]!='J'&&proposition[3]!='O'&&proposition[3]!='M');
    proposition[4] = '\0';
    }
    /*---------------------------------------------
    Fin de la fonction*/
     
    /*---------------------------------------------
    Cette fonction compare la chaine entrée par l'utilisateur à celle générée par l'ordinateur*/
    void VerifierCombi(char * proposition1,char *test1, char * solution)
    {
    char proposition[5],test[5];
    int z;
    ProposerCombi(proposition);
    strcpy(proposition1,proposition);
    for(z=0;z<=3;z++)
                    {
            if(proposition[z]==solution[z])//Quand la lettre est au bon endroit dans la combinaison
                test[z]='N';
            else if (proposition[z]!=solution[0]&&proposition[z]!=solution[1]&&proposition[z]!=solution[2]&&proposition[z]!=solution[3])//Quand la lettre n'est pas présente dans la combinaison
                test[z]='.';
            else test[z]='B';//Quand la lettre est présente mais pas à la bonne place
                    }
            test[4] = '\0' ;
    strcpy(test1,test);
     
     
    }
    /*---------------------------------------------
    Fin de la fonction*/
     
    /*---------------------------------------------
    Cette fonction Affiche le jeu*/
    void AfficherJeu(int *essai)
    {
    char proposition1[5],test1[5];
    int z=10,a;
     
    printf("____________________________________________");
    for(z=10;z>=*essai+1;z--)
    printf("\n[[%2d]-[ (*) (*) (*) (*) ] [ [.] [.] [.] [.] ]",z);
    printf("\n");
    printf("[[%2d]-",*essai);
     
    printf("[ ");
    for(a=0;a<=3;a++)
    printf("(%c) ",proposition1[a]);
    printf("]");
     
    printf(" [ ");
    for(a=0;a<=3;a++)
    printf("[%c] ",test1[a]);
    printf("] \n");
    printf("____________________________________________\n\n");
    }
    /*------------------------------------------------
    Fin de la fonction*/
    Par contre j'aimerai faire autre chose maintenant enfin savoir si cela est possible.
    Dans ma partie AfficherJeu, j'affiche au début quelque chose comme ça:

    [10]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 9]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 8]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 7]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 6]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 5]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 4]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 3]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 2]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 1]-[(R) (V) (B) (J) ] [ [N] [B] [.] [.] ]
    R V B J ce sont les 4 couleurs rentrées par l'utilisateur.
    A coté le N signifie que la lettre (R) est à la bonne place, que la lettre (V) est dans le code mais pas à cette place et que les deux autres (B et J) ne sont pas dans le code.

    L'utilisateur va rentrer plusieurs combinaisons et il va donc 'remonter' dans le tableau :

    [10]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 9]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 8]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 7]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 6]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 5]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 4]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 3]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 2]-[(O) (O) (O) (O) ] [ [.] [.] [.] [.] ]
    Tout est ok mais en fait j'aimerai bien garder les propositions d'avant et les afficher aussi dans le tableau et avoir quelque chose comme ça:


    [10]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 9]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 8]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 7]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 6]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 5]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 4]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 3]-[(*) (*) (*) (*)] [ [.] [.] [.] [.] ]
    [ 2]-[(O) (O) (O) (O) ] [ [.] [.] [.] [.] ]
    [ 1]-[(R) (V) (B) (J) ] [ [N] [B] [.] [.] ]
    Mais là j'avoue je vois pas du tout comment faire donc voilà si vous avez des pistes ou autre je suis preneur.

    Merci d'avance.

  3. #3
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 382
    Points
    5 382
    Par défaut
    salut,

    Je n'ai pas du tout regardé ton code, juste tes explications.

    Ma solution (peut-etre pas idéale):
    tu crées une structure que représente une ligne.
    tu crées un tableau de 10 structures.

    a chaque coup, tu remplis la structure correspondant à l'index du coup, comme ca tu as tout l'historique.

    Tu affiches le tableau de structures à chaque coup.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ah oui, via une structure, c'est peut-être la bonne idée. Je vais voir si j'y arrive et je vous dis quoi.

    J'ai tester j'arrive à avoir mes chaines proposition et test dans mon tableau mais je voudrais les avoir caractère par caractère pour pouvoir les placés comme je veux et la je bloque ça ne m'indique pas du tout ce que je veux.

    Je n'arrive pas non plus à afficher toute ma structure à chaque essai donc j'ai le même problème qu'avant :s.

    Voici mon code pour cette partie:

    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
    void AfficherJeu(unsigned short int *essai,char * proposition, char * test)
    {
    unsigned short int z=10,a,i;
     
    struct Ligne
    {
    char proposition1[5];
    char test1[5];
    };
    struct Ligne tab_ligne[10];
     
    strcpy(tab_ligne[*essai].proposition1,proposition);
    strcpy(tab_ligne[*essai].test1,test);
     
    printf("\t\t============================================");
    for(z=10;z>=*essai+2;z--)
    printf("\n\t\t[%2d]-[ (*) (*) (*) (*) ] [ [.] [.] [.] [.] ]",z);
    printf("\n");
    printf("\t\t[%2d]-",*essai+1);
     
    printf("[ ");
    printf("%2s",tab_ligne[*essai].proposition1);
    printf("] [ ");
    printf("%2s",tab_ligne[*essai].test1);
    printf("]");
     
    for(i=0;i<=3;i++){
    printf("(%c) ",tab_ligne[i].proposition1);//La forme que je voudrais avoir
    printf("[%c] ",tab_ligne[i].test1);
     
     
    }

  5. #5
    Expert éminent sénior

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    proposition est une chaîne, qui s'imprime avec %s

    un caractère de proposition est [I]proposition, qui lui s'affichera avec %c...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ah oui effectivement, après modification cela fonctionne. J'arrive donc bien à afficher caractère par caractère mes 2 chaînes.Merci à toi.

    Mais pour afficher tout mon tableau à chaque proposition je n'y arrive toujours pas.

Discussions similaires

  1. [PHP 5.2] Probleme avec les fonctions fopen fwrite
    Par zeyro dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2009, 15h34
  2. probleme avec les fonction get et set
    Par Invité dans le forum Flex
    Réponses: 0
    Dernier message: 23/01/2008, 14h44
  3. [Visual C++]probleme avec les fonctions declarées static
    Par sana06 dans le forum Visual C++
    Réponses: 2
    Dernier message: 20/07/2007, 11h21
  4. problemes avec les fonction de string en c++
    Par magniaco dans le forum C++
    Réponses: 13
    Dernier message: 08/10/2006, 15h28
  5. problème avec les fonctions MidStr et LeftStr
    Par timsah dans le forum C++Builder
    Réponses: 1
    Dernier message: 07/02/2006, 10h07

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