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 :

programmation modulair en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut programmation modulair en C
    Bonsoir tout le monde.

    J'étudie la programation modulaire en c.

    fichier main.c
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "gagnant.h"
    #include "quitter.h"
    #include "jeux1j.h"
    #include "jeux2j.h"
     
     
     
    /*
     
     
    */
    struct element
    {
     
    char pseudo1[20];
    char pseudo2[20];
    int choix;
    int k,l;
    char p4[7][7];
    char game;
     
    };
     
    struct element e;
     
                                                /*
    Cette fonction est le début du programme
     
                                                */
    int begingame()
    {
    printf("Bienvenue sur le jeux puissance 4\n"); 
    printf("\n");
    printf("Developpe par argon\n");
    printf("\n");
    printf("Voulez faire une partie à 2 joueur, ou jouer contre l'ordinateur\n");
    printf("Pour une partie à deux, taper 1, contre l'ordinateur taper 2\n");
    scanf("%d",&e.choix);
     
    if(e.choix==1 ||e.choix==2)
     
    {
              if(e.choix==1)
    {
        deuxgamer();
    }
     
        else if(e.choix==2)
             {
             vscomputeur();
             }
    }        
    else
    {
         printf("tempis vous avez fait le mauvais choix\n");
    }
    }
     
    int main(int argc, char *argv[])
    {
     
    begingame();  
     
      system("PAUSE");	
      return 0;
    }
    jeux1j.h

    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
     
    int vscomputeur()
    {
     
     
    printf("Bonjour je suis le terminator, vous allez m'affronter\n");    
    printf("Cher adverssaire entrer votre nom.\n");    
    scanf("%s",&e.pseudo1);
    printf("\n");
     
     
     
     
    printf("Vous aurrez les jetons Rouge: R, %s\n " , e.pseudo1);  
    printf("\n");
     
    printf("Moi, j'aurai les jeton bleu: B\n");
     
    printf("\n");
    printf("Le jeux debute, Choississe une colonne %s\n " , e.pseudo1);    
     
    printf("\n");
     
     
    onegamer();
     
     
     
    }
     
    int onegamer()
    {
    e.p4;
    e.game;
     
    int i,j;
     
    e.k=2;
    e.l=1;
    e.p4[0][1]='A';
    e.p4[0][2]='B';
    e.p4[0][3]='C';
    e.p4[0][4]='D';
    e.p4[0][5]='E';
    e.p4[0][6]='F';
    e.p4[0][7]='G';
     
     
     
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
    for(i=1;i<7;i++)
     
    {
     
    for(j=0;j<7;j++)
     
    {
     
    e.p4[i][j]='*';
    }
    printf("%s",e.p4[i]);
    printf("\n");
     
     
    }
     
    jeux1();
    return (0);
    }
     
    int jeux1()
    {
     
    int i,j;   
     
     
     
     
    scanf("%c\n",&e.game);
    printf("\n");
     
     
    printf("\n");
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
     
     
     
    if(e.game=='a')
    {
     e.p4[i][j]='R';
     
     if(e.p4[i+1][j]=='*')
     {
     e.p4[i][j]='*';
     e.p4[i+1][j]=='R';
     }
     
     
     
     
     
     
     
     
    }
     
    for(i=1;i<7;i++)
    {
     
    for(j=0;j<7;j++)
     
    {
     
    }
    printf("%s",e.p4[i]);
    printf("\n");
    }
     
     
    gagnantunjoueur();
    }
    /*
     
    */
    int consience()
    {
     
    e.p4;
    e.k;
    e.l;
     
     
    }
    Voici les erreurs.

    In file included from main.c
    function `vscomputeur':
    Je crois que le problème est au niveau de la stuture.

    de plus je n'ai pas compris si je dois ajouter les include dans les fichier ajouter.

    Pourriez vous me dire ce que je dois modifier pour que ce fonctionne.

    Merci

    Cordialement

    A bientôt

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Pas de code dans un .h
    Un .h contient seulement les prototypes ou les definitons de structures.

    Ensuite tu met les codes des fonctions dans de .c.
    Puis tu inclus ce qu'il faut ou il faut.
    Tu fait le makefile qui va bien ou tu charges ton IDE de le faire et c'est tout bon.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    J'aurais besoin de précision svp.

    Pas de code dans un .h
    Un .h contient seulement les prototypes ou les definitons de structures.
    C'est quoi les prototypes?
    Les definitons de structures c'est ce que j'ai déclaré dans le main.c?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Ensuite tu met les codes des fonctions dans de .c.
    Puis tu inclus ce qu'il faut ou il faut.
    Dois je aussi les includes dans les fichier que j'ai ajouter, c'est là que je n'est pas tout a fait compris.

    Tu fait le makefile qui va bien ou tu charges ton IDE de le faire et c'est tout bon.
    On ne ma pas expliqué ce qu'est makefile.

    Merci

    A +

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Petit exemple rapide

    Code fichier.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct {
        int a;
    }Mystruct;
     
    void fonction(Mystruct a);

    Code fichier.c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include "fichier.h" /* pour avoir le prototype de la fonction ainsi que la structure */
    #include <stdio.h>
     
    void fonction(Mystruct a)
    {
        printf("%d\n", a.a);
    }

    Code main.c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "fichier.h"
     
    int main(void)
    {
        MyStruct a;
        a.a = 8;
        fonction(a);
        return 0;
    }

  5. #5
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include "fichier.h" /* pour avoir le prototype de la fonction ainsi que la structure */
    #include <stdio.h>
    Pourquoi pas directement <stdio.h> dans "fichier.h"?

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par seriousme
    Pourquoi pas directement <stdio.h> dans "fichier.h"?
    Parce que moi je marche de la sorte. Je n'inclus ce dont j'ai besoin que quand j'en ai besoin.

    Dans le .h je ne sais pas encore que j'ai besoin de stdio.h donc je ne l'inclus pas.
    Dans le .c apres avoir utilisé printf j'ai su que j'avais besoin de stdio.h donc je l'ai inclus.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par seriousme
    Pourquoi pas directement <stdio.h> dans "fichier.h"?
    Pourquoi faire ?
    Est-ce que "fichier.h" a besoin de <stdio.h> ? Non.

    Si une des fonctions avait un paramètre de type FILE*, par exemple, alors oui, on aurait mis <stdio.h>. De même qui si on avait eu un paramètre de type size_t, on aurait mis <stddef.h>. Il faut mettre ce qui est nécessaire. Ni plus, ni moins.

    (On peut techniquement mettre plus, mais ça ne fait que montrer au monde entier qu'on ne maitrise pas son sujet... ben oui ,un .h comme ça, c'est public...)

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Skyrunner
    Petit exemple rapide
    Code fichier.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct {
        int a;
    }Mystruct;
     
    void fonction(Mystruct a);
    J'ajouterais les "défenses"
    Code fichier.h : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    /* fichier.h */
    #ifndef H_FICHIER
    #define H_FICHIER
    typedef struct {
        int a;
    }Mystruct;
     
    void fonction(Mystruct a);
    #endif
    et je ne conseille pas de passer une structure en paramètre. Je recommande de passer uniquement son adresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void fonction(Mystruct *p);

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    Y a certain élèment que je n'ai pas compris


    Voici le fichier où il ya la structure.
    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
     
    typedef struct element
    {
     
    char pseudo1[20];
    char pseudo2[20];
    int choix;
    int k,l;
    char p4[7][7];
    char game;
     
    } element;
     
     
    void(element e)
    Voici le fichier main.
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include "gagnant.c"
    #include "quitter.c"
    #include "jeux1j.c"
    #include "jeux2j.c"
    #include "strutu.h"
     
     
    /*
     
     
    */
     
                                                /*
    Cette fonction est le début du programme
     
                                                */
    int begingame(element e)
    {
    printf("Bienvenue sur le jeux puissance 4\n"); 
    printf("\n");
    printf("Developpe par argon\n");
    printf("\n");
    printf("Voulez faire une partie à 2 joueur, ou jouer contre l'ordinateur\n");
    printf("Pour une partie à deux, taper 1, contre l'ordinateur taper 2\n");
    scanf("%d",&e.choix);
     
    if(e.choix==1 ||e.choix==2)
     
    {
              if(e.choix==1)
    {
        deuxgamer();
    }
     
        else if(e.choix==2)
             {
             vscomputeur(element e);
             }
    }        
    else
    {
         printf("tempis vous avez fait le mauvais choix\n");
    }
    }
     
    int main(int argc, char *argv[])
    {
     element e;  
    begingame();  
     
      system("PAUSE");	
      return 0;
    }
    Voici le fichier jeux1j.c
    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
     
    #include <stdio.h>
    #include "strutu.h"
     
    int vscomputeur(element e)
    {
     
     
    printf("Bonjour je suis le terminator, vous allez m'affronter\n");    
    printf("Cher adverssaire entrer votre nom.\n");    
    scanf("%s",&e.pseudo1);
    printf("\n");
     
     
     
    printf("Vous aurrez les jetons Rouge: R, %s\n " , e.pseudo1);  
    printf("\n");
     
    printf("Moi, j'aurai les jeton bleu: B\n");
     
    printf("\n");
    printf("Le jeux debute, Choississe une colonne %s\n " , e.pseudo1);    
     
    printf("\n");
     
     
    onegamer();
     
     
     
    }
     
    int onegamer(element e)
    {
    e.p4;
    e.game;
     
    int i,j;
     
    e.k=2;
    e.l=1;
    e.p4[0][1]='A';
    e.p4[0][2]='B';
    e.p4[0][3]='C';
    e.p4[0][4]='D';
    e.p4[0][5]='E';
    e.p4[0][6]='F';
    e.p4[0][7]='G';
     
     
     
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
    for(i=1;i<7;i++)
     
    {
     
    for(j=0;j<7;j++)
     
    {
     
    e.p4[i][j]='*';
    }
    printf("%s",e.p4[i]);
    printf("\n");
     
     
    }
     
    jeux1();
    return (0);
    }
     
    int jeux1(element e)
    {
     
    int i,j;   
     
     
     
     
    scanf("%c\n",&e.game);
    printf("\n");
     
     
    printf("\n");
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
     
     
     
    if(e.game=='a')
    {
     e.p4[i][j]='R';
     
     if(e.p4[i+1][j]=='*')
     {
     e.p4[i][j]='*';
     e.p4[i+1][j]=='R';
     }
     
     
     
    }
     
    for(i=1;i<7;i++)
    {
     
    for(j=0;j<7;j++)
     
    {
     
    }
    printf("%s",e.p4[i]);
    printf("\n");
    }
     
     
    gagnantunjoueur();
    }
    /*
     
    */
    int consience(element e)
    {
     
    e.p4;
    e.k;
    e.l;
     
     
    }

    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
     
    #include <stdio.h>
    #include "strutu.h"
    int twogamer(element e)
    {
     e.p4;
     int i,j;
     
     
     
    e.p4[0][1]='A';
    e.p4[0][2]='B';
    e.p4[0][3]='C';
    e.p4[0][4]='D';
    e.p4[0][5]='E';
    e.p4[0][6]='F';
    e.p4[0][7]='G';         
     
     
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
    for(i=1;i<7;i++)
     
    {
     
    for(j=0;j<7;j++)
     
    {
     
    e.p4[i][j]='*';
    }
     
    printf("%c",e.p4[i]);
     
     
    printf("\n");
     
     
    }
     
     
    scanf("%s\n",&e.game);
    printf("\n\n");
     
     
     
     
     
    }
    Voici le fichier jeux2j.c
    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
     
    #include <stdio.h>
    #include "strutu.h"
     
    int vscomputeur(element e)
    {
     
     
    printf("Bonjour je suis le terminator, vous allez m'affronter\n");    
    printf("Cher adverssaire entrer votre nom.\n");    
    scanf("%s",&e.pseudo1);
    printf("\n");
     
     
     
    printf("Vous aurrez les jetons Rouge: R, %s\n " , e.pseudo1);  
    printf("\n");
     
    printf("Moi, j'aurai les jeton bleu: B\n");
     
    printf("\n");
    printf("Le jeux debute, Choississe une colonne %s\n " , e.pseudo1);    
     
    printf("\n");
     
     
    onegamer();
     
    }
     
    int onegamer(element e)
    {
    e.p4;
    e.game;
     
    int i,j;
     
    e.k=2;
    e.l=1;
    e.p4[0][1]='A';
    e.p4[0][2]='B';
    e.p4[0][3]='C';
    e.p4[0][4]='D';
    e.p4[0][5]='E';
    e.p4[0][6]='F';
    e.p4[0][7]='G';
     
     
     
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
    for(i=1;i<7;i++)
     
    {
     
    for(j=0;j<7;j++)
     
    {
     
    e.p4[i][j]='*';
    }
    printf("%s",e.p4[i]);
    printf("\n");
     
     
    }
     
    jeux1();
    return (0);
    }
     
    int jeux1(element e)
    {
     
    int i,j;   
     
     
     
     
    scanf("%c\n",&e.game);
    printf("\n");
     
     
    printf("\n");
     
    printf("%c",e.p4[0][1]);
     
    printf("%c",e.p4[0][2]);
     
    printf("%c",e.p4[0][3]);
     
    printf("%c",e.p4[0][4]);
     
    printf("%c",e.p4[0][5]);
     
    printf("%c",e.p4[0][6]);
     
    printf("%c\n\n",e.p4[0][7]);
     
     
     
     
     
    if(e.game=='a')
    {
     e.p4[i][j]='R';
     
     if(e.p4[i+1][j]=='*')
     {
     e.p4[i][j]='*';
     e.p4[i+1][j]=='R';
     }
     
     
     
     
     
     
     
     
    }
     
    for(i=1;i<7;i++)
    {
     
    for(j=0;j<7;j++)
     
    {
     
    }
    printf("%s",e.p4[i]);
    printf("\n");
    }
     
     
    gagnantunjoueur();
    }
    /*
     
    */
    int consience(element e)
    {
     
    e.p4;
    e.k;
    e.l;
     
     
     
     
     
     
     
     
    }


    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
     
    /*
     
    Cette fonction permet
    */
     
     
    gagnantdeuxjoueurs()
    {
     
     
     
     
     
     
     
    } /*
    Cette fonction permet
    */
    gagnantunjoueur()
    {
     
     
     
     
     
    }
    Voici le fichier
    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
     
    #include "strutu.h"
    #include <stdio.h>
    /*
    Cette fonction propose au joueur une nouvelle partie.
     
    */  
    int end()
    {
    printf("souhaitez vous refaire un partie.");     
     
     
     
     
    }

    projet puissance 4\quitter.c:1, from main.c In file included from quitter.c:1, from main.c

    projet puissance 4\strutu.h syntax error before "e"



    projet puissance 4\jeux1j.c:2, from main.c In file included from jeux1j.c:2, from main.c


    projet puissance 4\strutu.h redefinition of `struct element'

    projet puissance 4\strutu.h redefinition of typedef 'element'

    projet puissance 4\strutu.h previous declaration of 'element' was here

    projet puissance 4\strutu.h syntax error before "e"

    projet puissance 4\jeux1j.c syntax error before string constant

    jeux1j.c conflicting types for 'printf'


    projet puissance 4\jeux1j.c a parameter list with an ellipsis can't match an empty parameter name list declaration

    projet puissance 4\jeux1j.c conflicting types for 'printf'

    projet puissance 4\jeux1j.c a parameter list with an ellipsis can't match an empty parameter name list declaration


    projet puissance 4\jeux1j.c [Warning] data definition has no type or storage class

    projet puissance 4\jeux1j.c syntax error before string constant

    projet puissance 4\jeux1j.c conflicting types for 'scanf'

    projet puissance 4\jeux1j.c a parameter list with an ellipsis can't match an empty parameter name list declaration
    Je pense qu'il dois manquer des include ou autre d'apres les erreur.

    Pourriez vous me préciser ce qu'il manque, de plus, je pense que la structure n'est pas correct.

    Pour information je vous signal que je travail avec dev cpp

    Merci

    Cordialement

    A bientôt

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par argon
    C'est quoi les prototypes?
    C'est la partie 'interface' d'une fonction dans sa forme 'moderne'[1]. Voici la définition générale d'une fonction en C standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <type retourné> <nom de la fonction> ([parametre [, parametre[...]]])
    {
       <corps de la fonction>
     
       [return [valeur];]
    }
    La partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <type retourné> <nom de la fonction> ([parametre [, parametre[...]]])
    s'appelle l'interface. Elle définie les relations entre la fonction le monde exterieur :
    • Comment s'appelle la fonction ?
    • Y'a-t-il des paramètres ?
    • Quels sont ces paramètres (role, type, nombre) ?
    • Y'a-t-il une valeur retournée ?
    • Quel est le type de la valeur retournée ?

    La forme de cet interface s'appelle un prototype. Ici, c'est le prototype integré. Il est possible de 'détacher' ce prototype pour le mettre dans un fichier d'entête (.h). Pour celà, on fait une simple copie du prototype intégré et on ajoute un ';' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <type retourné> <nom de la fonction> ([parametre [, parametre[...]]]);
    Les definitons de structures c'est ce que j'ai déclaré dans le main.c?

    Ensuite tu met les codes des fonctions dans de .c.
    Puis tu inclus ce qu'il faut ou il faut.
    Dois je aussi les includes dans les fichier que j'ai ajouter, c'est là que je n'est pas tout a fait compris.
    Il faut que le fichier qui contient la définition de la fonction ait une 'vue' sur le prototype séparé. Il faut donc inclure le .h qui contient le prototype.

    Il faut aussi que dans chaque fichier.c où la fonction est utilisée (appelée), son prototype soit 'en vue'. La aussi, il faut donc inclure le .h qui contient le prototype.
    On ne ma pas expliqué ce qu'est makefile.
    C'est un outil qui permet, entre autres, de gérer des projets. Pour le moment, si tu utilises un IDE (Code::Blocks etc.), tu n'en as pas besoin.
    -----------------------
    [1] Avant la normalisation du langage en 1989, l'interface était présenté différemment, et on ne savait rien des paramètres.

Discussions similaires

  1. programmation modulaire sur devc++
    Par lity7 dans le forum C
    Réponses: 1
    Dernier message: 23/02/2007, 18h40
  2. L'interet de la programmation modulaire.
    Par giggs dans le forum C
    Réponses: 3
    Dernier message: 01/11/2006, 12h35
  3. programmation modulaire en C
    Par lastrecrue dans le forum GTK+ avec C & C++
    Réponses: 11
    Dernier message: 28/06/2006, 21h03
  4. programmation modulaire
    Par barbarello dans le forum C++
    Réponses: 2
    Dernier message: 19/02/2006, 13h04
  5. [Projet] Programmation modulaire d'un projet.
    Par loverdose dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 18/11/2005, 21h59

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