Tri nom
sambio
Messages postés
6
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
bonjour,la boucle tourne qu'une seule fois
typedef struct eleve
{
char nom[ligne][colone];
int age;
float moy;
float note[3];
float rang;
}eleve;
void ajouter()
{
eleve individu[100];
int n,i;
float som=0;
printf("entrer le nombre delts:");scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("entrer le nom:");scanf("%s",&individu[i].nom);
printf("entrer son age:");scanf("%d",&individu[i].age);
printf("entrer ses note\n");
printf("\tmath:");scanf("%f",&individu[i].note[0]);
printf("\tphy:");scanf("%f",&individu[i].note[1]);
printf("\tinfo:");scanf("%f",&individu[i].note[2]);
}
affiche(individu,n);
tri_nom(individu,n);
affiche(individu,n);
}
void tri_nom(eleve tab[],int n)
{
int i,ok=1;
eleve aux1[100];
while(ok==1)
{
ok=0;
for(i=0;i<n;i++)
{
if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0)
{
aux1=tab[i];
tab[i]=tab[i+1];
tab[i+1]=aux1;
ok=1;
}
}
}
}
1 réponse
Bonjour,
char nom[ligne][colone];
Pourquoi un tableau à deux dimensions ? Une seule suffit pour une chaîne de caractères.
scanf("%s",&individu[i].nom);
Pas de & devant le pointeur.
if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0)
Que veux tu faire avec "+i" ?
Merci d'utiliser la balise "code c" pour la prochaine fois.
Exemple :
<code c>ici tu mets ton code</code>
char nom[ligne][colone];
Pourquoi un tableau à deux dimensions ? Une seule suffit pour une chaîne de caractères.
scanf("%s",&individu[i].nom);
Pas de & devant le pointeur.
if(strcmp(tab[i].nom+i,tab[i+1].nom+i)>0)
Que veux tu faire avec "+i" ?
Merci d'utiliser la balise "code c" pour la prochaine fois.
Exemple :
<code c>ici tu mets ton code</code>
Je ne suis pas convaincu par ton explication de saisir et de trier.
Tu crées une structure Eleve qui a un nom. Un élève a un seul nom, pas plusieurs.
Donc, je mettrais plutôt : char nom[TAILLE]; avec #define TAILLE 250
Et là, il faut enlever le &.
Si tu veux un tableau qui contient tous les noms, créé une autre variable mais pas dans la structure.