Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2203 connectés 

  FORUM HardWare.fr
  Programmation
  C

  prob de pointeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

prob de pointeur

n°908369
bigmama
Posté le 26-11-2004 à 12:19:55  profilanswer
 

Bonjour ,j'ai un ppetit prb avec les liste chainées:
 
je dois pouvoir inserer autant de atiere par eleve et calculer leur moyenne ,pour cela j'ai defini deux structures :
 
typedef struct Televe /* structure gerant les eleves */
{
  struct Tmatiere *pt_tete;  
 
}Televe;
 
typedef struct Tmatiere /* tableau contenant les notes */
{
  int tab_notes [16];
  struct Tmatiere *pt_matiere_suivante; // gerant les matieres
}Tmatiere;
 
Ensuite , j'initialise plusieur eleve et plusiurs matieres
 
// nouveaux eleve
 
// Instantiation des structure Televes
 
Televe jean;
Televe jacques;
Televe cecile;
 
// Instantiation des structure Tmatiere
 
Tmatiere math;
Tmatiere hist_geo;
 
// initialisation des pointeurs de tete dans les structures Televe
 
jean.pt_tete=NULL;
jacques.pt_tete=NULL;
cecile.pt_tete=NULL;
 
// initialisation des valeur des pointeurs
 
francais.pt_matiere_suivante=NULL;
math.pt_matiere_suivante=NULL;
hist_geo.pt_matiere_suivante=NULL;
 
math.tab_notes ={5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16};
hist_geo.tab_notes={15,0,1,12,9,16,20,1,13,10,17,6,13,17,4,6};
 
// initialisation des valeurs de chaques matieres
 
math.tab_notes []={5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16}; // ERREUR
hist_geo.tab_notes={15,0,1,12,9,16,20,1,13,10,17,6,13,17,4,6}; // ERREUR
 
hors je n'arrive pas a compiler ,pourtant j'ai bien definie un tableau dans la structure Tatiere ,quelqu'un peu il m'expliquer l'ereur que j'ai pu faire ,Merci d'avance ...


Message édité par bigmama le 26-11-2004 à 12:22:15
mood
Publicité
Posté le 26-11-2004 à 12:19:55  profilanswer
 

n°908378
cris56
Posté le 26-11-2004 à 12:38:30  profilanswer
 

Tmatiere math = { {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16}, NULL };
 
ou (c99)
 
Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},  
.pt_matiere_suivante = NULL };
 
 

n°908433
bigmama
Posté le 26-11-2004 à 13:25:17  profilanswer
 

désolé mais ça ne marche pas;

n°908446
cris56
Posté le 26-11-2004 à 13:30:33  profilanswer
 

comment ca ??
 
tu fais quoi exactement et c'est quoi le message d'erreur ?

n°908488
manatane
En vous remerciant, bonsoir
Posté le 26-11-2004 à 14:16:42  profilanswer
 

bigmama a écrit :

désolé mais ça ne marche pas;


 
:pfff: ben si çà marche, au moins la première des 2 solutions si ton compilateur ne gère pas le C99.
Ton problème vient du fait que tu tentes d'initialiser un tableau en dehors de sa définition, hors c'est le compilateur qui initialise (çà se fait pas au runtime, un tableau est une l-value non modifiable) d'où erreur...

n°908550
bigmama
Posté le 26-11-2004 à 15:10:25  profilanswer
 

pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},  
.pt_matiere_suivante = NULL };  sous c++builderX
 
 : E2188 Syntaxe de l'expression dans la fonction main en ligne 123

n°908552
bigmama
Posté le 26-11-2004 à 15:10:42  profilanswer
 

pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},  
.pt_matiere_suivante = NULL };  sous c++builderX
 
 : E2188 Syntaxe de l'expression dans la fonction main en ligne 123

n°908553
bigmama
Posté le 26-11-2004 à 15:10:47  profilanswer
 

pour Tmatiere math = { .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},  
.pt_matiere_suivante = NULL };  sous c++builderX
 
 : E2188 Syntaxe de l'expression dans la fonction main en ligne 123

n°908561
cris56
Posté le 26-11-2004 à 15:17:52  profilanswer
 

et comment tu lui dis à ton c++builderX que tu compiles du c et pas du c++ ?

n°908564
Lam's
Profil: bas.
Posté le 26-11-2004 à 15:18:25  profilanswer
 

cris56 a écrit :

et comment tu lui dis à ton c++builderX que tu compiles du c et pas du c++ ?


Du C99 [:aloy]

mood
Publicité
Posté le 26-11-2004 à 15:18:25  profilanswer
 

n°908566
manatane
En vous remerciant, bonsoir
Posté le 26-11-2004 à 15:19:34  profilanswer
 

bigmama a écrit :

pour  
Tmatiere math = {  
  .tab_notes = {5,20,18,2,9,6,12,19,3,11,17,6,13,17,14,16},  
  .pt_matiere_suivante = NULL  
};  sous c++builderX
 
 : E2188 Syntaxe de l'expression dans la fonction main en ligne 123


 
Ca marche avec gcc 3.4, essaye avec mingw

n°908567
cris56
Posté le 26-11-2004 à 15:20:55  profilanswer
 


 
non, a mon avis c++builderX supporte c99 (quand meme)


Message édité par cris56 le 26-11-2004 à 15:21:19

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  prob de pointeur

 

Sujets relatifs
prob de surcharge de constructeur[C++] Tableau de pointeur de tableau
Liste menu (forumlaire), prob de transmission de valeurafficher la valeur d'un pointeur en ada
Prob de timeoutProb de calque
prob Variable et fonction moyenneProb avec loadvariables
[C/C++] Vérifier un pointeur[C] [ résolu]pbm pointeur et tableau de structures
Plus de sujets relatifs à : prob de pointeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR