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 :

Problème lors de la déclaration d'une variable de type structure


Sujet :

C

  1. #1
    Nouveau membre du Club Avatar de samy100
    Inscrit en
    Avril 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 96
    Points : 34
    Points
    34
    Par défaut Problème lors de la déclaration d'une variable de type structure
    Salut, je comment à créer mes propres variables et là j'en est créée une mais .... je ne sais pas comment l'expliquer regarder:

    dans le fichier ".h":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #ifdef DEF_PROT
    #define DEF_PROT
    typedef struct pers pers;
    struct pers
    {
           char nom [100];
           char prenom [100];
    };
     
    #endif
    dans le fichier ".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
    #include <stdio.h>
    #include <stdlib.h>
    #include "prot.h"
    int main(int argc, char *argv[])
    {
       struct pers joueur [3];
        if (joueur < 3)
        {
        printf("Quel est votre nom ? ");
        scanf("%s", joueur.nom);
        printf("Votre prenom ? ");
        scanf("%s", joueur.prenom);
        joueur ++;
        }
      
      system("PAUSE"); 
      return 0;
    }
    et quand j'éssaye de compiler cela me marque :"storage size of 'joueur' isn't know"

    Ps: j'ai agrandi, souligné, et mis en rouge le truc qui ne marche pas

    Merci!

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Moi je ferais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef  struct pers
    {
           char nom [100];
           char prenom [100];
    } pers;

  3. #3
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par samy100
    Salut, je comment à créer mes propres variables et là j'en est créée une mais .... je ne sais pas comment l'expliquer regarder:

    dans le fichier ".h":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #ifdef DEF_PROT
    #define DEF_PROT
    C'est bien de vouloir se protéger des inclusions multiples, mais autant le faire correctement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #ifndef DEF_PROT
    #define DEF_PROT

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Pour compléter les commentaires , ce code est certainement faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    struct pers joueur[3];
    ....
    if (joueur < 3) {
    joueur est un tableau de struct pers et donc sa valeur est l'adresse du début du tableau et n'a rien à voir avec le "nombre de joueur".
    L'accès aux éléments du tableau ne peut pas se faire par incrément de joueur (ce qui est impossible à faire d'ailleurs)

  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 : 38
    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
    Points : 3 958
    Points
    3 958
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     if (joueur < 3)
        {
        printf("Quel est votre nom ? ");
        scanf("%s", joueur.nom);
        printf("Votre prenom ? ");
        scanf("%s", joueur.prenom);
        joueur ++;
        }
    Ce n'est pas une boucle.
    L'accés aux structures se fait avec:joueur[].

  6. #6
    Nouveau membre du Club Avatar de samy100
    Inscrit en
    Avril 2006
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 96
    Points : 34
    Points
    34
    Par défaut
    Ok merci!

    pour faire la boucle je remplace le if par un do while c'est bien ça?

  7. #7
    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 : 38
    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
    Points : 3 958
    Points
    3 958
    Par défaut
    Oui ou une boucle for.

Discussions similaires

  1. Réponses: 19
    Dernier message: 05/05/2008, 16h45
  2. Problème d'ancre lors du rafraichissement d'un opener dans une frame
    Par Rawone dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/06/2006, 00h54
  3. Réponses: 4
    Dernier message: 22/05/2006, 14h22
  4. excel -> test lors de la perte du focus d'une cellule
    Par greg778 dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 26/09/2005, 17h26
  5. Réponses: 3
    Dernier message: 01/12/2004, 09h43

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