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 avec le chargement d'un tableau de structures


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Par défaut problème avec le chargement d'un tableau de structures
    Bonjour tout le monde,
    j'essaie créer une fonction qui charge un tableau de structure. Ma structure comprend une chaine de caractères et un entier qui incrémente le nombre d'occurrence de ce mot dans l tableau s'il y existe, sinon ce mot sera sauvegardé dans une nouvelle case du tableau. Mon tableau est statique de taille NMAX.
    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
     
    #include<stdio.h>
    #include<string.h>
    #include<conio.h>
    #define MAX 200;
    int itmc=0;  /*indice du nombre delement ds la tableau des mots cles*/
     
    struct motcle
    {
     char *mot;
     int occ=0;
    }; typedef struct motcle MOTCLE;
     
    void charger_mot_cle(MOTCLE t[],char *s)
    {   int i;
         for(i=0;i<itmc;i++)
       {
         if(!(strcmp(t[i].mot,s))) t[i].occ++;
         break;
       }
      strcpy(t[itmc].mot,s);
      itmc++;
    }
     
    int main(void)
    {
     MOTCLE tmc[MAX];
     charger_mot_cle(tmc,"if");/* ceci est un simple test de ma fonction*/
    }
    merci d'avance

  2. #2
    Membre confirmé Avatar de mackla
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 140
    Par défaut
    Compiling: main.c
    C:\Documents and Settings\z\Bureau\EX\main.c:11: warning: no semicolon at end of struct or union
    C:\Documents and Settings\z\Bureau\EX\main.c:11: error: syntax error before '=' token
    C:\Documents and Settings\z\Bureau\EX\main.c: In function `charger_mot_cle':
    C:\Documents and Settings\z\Bureau\EX\main.c:18: error: invalid use of undefined type `struct motcle'
    C:\Documents and Settings\z\Bureau\EX\main.c:18: error: dereferencing pointer to incomplete type
    C:\Documents and Settings\z\Bureau\EX\main.c:18: error: invalid use of undefined type `struct motcle'
    C:\Documents and Settings\z\Bureau\EX\main.c:18: error: dereferencing pointer to incomplete type
    C:\Documents and Settings\z\Bureau\EX\main.c:21: error: invalid use of undefined type `struct motcle'
    C:\Documents and Settings\z\Bureau\EX\main.c:21: error: dereferencing pointer to incomplete type
    C:\Documents and Settings\z\Bureau\EX\main.c: In function `main':
    C:\Documents and Settings\z\Bureau\EX\main.c:27: error: syntax error before ';' token
    C:\Documents and Settings\z\Bureau\EX\main.c:28: error: `tmc' undeclared (first use in this function)
    C:\Documents and Settings\z\Bureau\EX\main.c:28: error: (Each undeclared identifier is reported only once
    C:\Documents and Settings\z\Bureau\EX\main.c:28: error: for each function it appears in.)
    Process terminated with status 1 (0 minutes, 0 seconds)
    11 errors, 1 warnings
    Commence par corriger ces erreurs

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Par défaut code corrigé
    salut, voilà j'ai corrigé mes erreurs, ce code est bien compilé, sauf qu'au moment de l'exécution j'ai toujours un problème et la fenêtre d'envoi des rapports d'erreurs s'affiche...
    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
     
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
     
    int itmc=0;
     
    struct motcle{
    int occ;
    char *mot;
    };typedef struct motcle MOTCLE;
     
    void charger_mot_cle(MOTCLE t[],char *s)
    { int i;
      for(i=0;i<itmc;i++)
       {
         if(!(strcmp(t[i].mot,s))) (t[i].occ)++;
         break;
       }
      strcpy(t[itmc].mot,s);
      itmc++;
         }
     
    int main(void)
    {
     
     MOTCLE mc[200];
     
     
     
     charger_mot_cle(mc,"if");
     
     getch();
    }
    en utilisant le debug de dev cpp j'ai le mesage d'erreur suivant
    un violation d'acces(erreur de segmentation) est apparue dans votre programme ???

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Tu ne peux pas faire ça sans avoir au préalable alloué de la mémoire pour t[itmc].mot. Par exemple tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t[itmc].mot = strdup(s);

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 17
    Par défaut
    Bonsoir,
    exactement j'ai un problème d'allocation pour mes chaines de caractères, j'ai pu résoudre mon problème,
    merci les amis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  2. Réponses: 10
    Dernier message: 24/05/2007, 09h27
  3. Réponses: 2
    Dernier message: 10/12/2006, 09h57
  4. Problème avec les espaces dans un tableau !
    Par remixtech dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/07/2006, 19h30
  5. Problème avec les styles d'un tableau
    Par psychoBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 20/05/2006, 03h13

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