Tableau de struct en c
Fermé
mathlo
-
8 mars 2012 à 20:45
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 mars 2012 à 22:34
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 mars 2012 à 22:34
A voir également:
- Tableau de struct en c
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Tableau de raccourcis clavier - Guide
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
9 mars 2012 à 10:46
9 mars 2012 à 10:46
Bonjour,
classement personne[];
Tu déclares un tableau mais ne précises pas la taille. Donc forcément ça bug lorsque tu fais personne[compteur].
Si nbre est fixe et n'est pas choisi par l'utilisateur, je te conseille d'utiliser de faire : "#define NBRE 5" (sans point virgule) juste en dessous des #include.
Ensuite, tu pourras mettre : classement personne[NBRE];
N'oublie pas de remplacer nbre par NBRE dans la suite de ton programme.
scanf("%s", &personne[compteur].nom);
Enlève l'esperluette (&). Il n'en faut pas.
printf("%s -> %d", personne[compteur].nom, personne[compteur.note]
erreur de frappe je pense : personne[compteur].note fonctionnera mieux.
Tiens-nous au courant. Et merci la prochaine fois de mettre ton code dans des balises "code" (à droite du bouton souligné"). Sinon c'est illisible.
classement personne[];
Tu déclares un tableau mais ne précises pas la taille. Donc forcément ça bug lorsque tu fais personne[compteur].
Si nbre est fixe et n'est pas choisi par l'utilisateur, je te conseille d'utiliser de faire : "#define NBRE 5" (sans point virgule) juste en dessous des #include.
Ensuite, tu pourras mettre : classement personne[NBRE];
N'oublie pas de remplacer nbre par NBRE dans la suite de ton programme.
scanf("%s", &personne[compteur].nom);
Enlève l'esperluette (&). Il n'en faut pas.
printf("%s -> %d", personne[compteur].nom, personne[compteur.note]
erreur de frappe je pense : personne[compteur].note fonctionnera mieux.
Tiens-nous au courant. Et merci la prochaine fois de mettre ton code dans des balises "code" (à droite du bouton souligné"). Sinon c'est illisible.
merci beaucoup de ton aide....
alors jai essayé de corriger comme tu m'as dit...
j'ai simplifié mon code, pour avoit tout dans le main et y a plus d'erreurs... je lance le programme et la... apres la saisie de la premiere note ca bug -_- :(
je met mon nouveau code (avec les balises :p) :
merci encore pour ton aide fiddy... ;)
alors jai essayé de corriger comme tu m'as dit...
j'ai simplifié mon code, pour avoit tout dans le main et y a plus d'erreurs... je lance le programme et la... apres la saisie de la premiere note ca bug -_- :(
je met mon nouveau code (avec les balises :p) :
#include <stdio.h> #include <stdlib.h> #define NBRE 5 int main() { int compteur=0; typedef struct { int note; char nom[100]; } clas; clas test[5]; printf("Entrez la note puis le nom de l'eleve...\n"); while(compteur<NBRE) { printf("eleve n_%d : ", compteur+1); scanf("%d", test[compteur].note); scanf("%s", test[compteur].nom); compteur++; } compteur=0; printf("on a donc :\n"); while(compteur< NBRE) { printf("%s -> %d", test[compteur].nom, test[compteur].note); compteur++; } return 0; }
merci encore pour ton aide fiddy... ;)
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
Modifié par loupius le 9/03/2012 à 20:51
Modifié par loupius le 9/03/2012 à 20:51
En attendant que Fiddy revienne de dîner, tu peux essayer:
Bonne continuation.
scanf("%d", &test[compteur].note);et puis
printf("%s -> %d\n", test[compteur].nom, test[compteur].note);serait sans doute mieux.
Bonne continuation.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
9 mars 2012 à 22:34
9 mars 2012 à 22:34
J'aurais pas mieux dit :-)