Rechercher : dans
Par :

Pb de tableau de structure en C

Dernière réponse le 10 avr 2009 à 11:08:28 Sylvain, le 29 jan 2002 à 10:30:20 
 Signaler ce message aux modérateurs

Bonjour à tous,
je suis en train d'apprendre le c et j'ai un pb.
J'ai déclaré un structure:
struct eleve
{
nom[20]
prenom[20]
absences[20]
} absence

un tableau contenant ma strucure :
eleve ClasseEntiere[40];

Dans mon programme j'arrive à enregistrer plusieurs eleve (donc structure eleve dans mon tableau), mais je n'arrive à enregister que le nom, le prenom et 1 SEULE absence pour chaque eleve (avecla fonction strcpy).
Je voudrais pouvoir enegistrer plusieurs absences par eleves, mais je ne sais pas comment faire car si je veux enregistrer 20 absence, il me faudrait 20 tableaux absence[20] dans ma structure, ce qui est stupide.

On m'a dis qu'il faut utiliser un pointeur mais je ne sais pas comment l'utiliser, j'ai jamais vu ça et je n'ai rien compris au cours de comment ça marche (pas asez complet).
Es-ce que quelqu'un pourrait me faire le bout de prog qui manque (pour enregistrer plusieurs absences par eleves) ou au moins un exemple d'utilisation des pointeurs (pas avec du int, mais avec des variables char).

Merci.

Meilleures réponses pour « Pb de tableau de structure en C » dans :
Trier un tableau sans utiliser la fonction sort VoirTrier un tableau sans utiliser la fonction sort D'abord on initialise une variable $max avec la 1ère valeur de tableau. Ensuite on va faire une boucle tant que le tableau contient encore des éléments. C'est avec la fonction splice qui a le rôle...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Les structures en langage C++ VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Langage C++ - Les pointeurs VoirComme en langage C, le langage C++ permet d'utiliser des pointeurs pour manipuler des données, mais il introduit aussi le concept de référence, très pratique pour permettre la modification d'une donnée passée en paramètre d'une fonction. Définition...

1

Freedoomer, le 29 jan 2002 à 12:15:44
  • +1

Pour gérer un nombre variable d'absences, par tableaux, à mon avis il faudrait utiliser une liste chainée à l'intérieur de ta structure... mais ca deviendrait un poil compliqué. Cherche un peu dans cette direction 'liste chainée' j'ai pas le temps de te faire tt un cours la dessus :)

Répondre à Freedoomer

2

tips, le 29 jan 2002 à 15:20:01
  • +2

Salut Sylvain ,c'est vrai que pour pouvoir gerer ton enregistrement
dans un tableau ,il faut utiliser un pointeur,qui se comportera comme un tableau ,mais lui il est dynamique ,il permet de gerer la memoire.
DECLARATION:
eleve *ClasseEntiere;
/*reservation d'espace memoire */
classeentiere=(eleve *)malloc(n*sizeof(eleve)); /*avec n nombre d'enregistrement */
/*pour lire un champ de eleve*/

scanf("%s",&*ClasseEntier.nom);
/*pour afficher*/
printf("%s",*ClasseEntier.nom);


A bientôt

Répondre à tips

3

 diaisma, le 10 avr 2009 à 11:08:28
  • +1

Merci et vreaiment j'ai bien compris et ça marche

Répondre à diaisma