Probleme lors de la saisie de données pour mon répertoir

doggy59115 Messages postés 2 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 2 avril 2005 - 11 févr. 2005 à 16:31
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 11 févr. 2005 à 17:21
Bonjour a tous, j'ai un petit probleme avec mon programme en C. Lors de l'affichage des données saisies, le nom et le numero de telephone ne forment qu'un. Ou est mon probleme? Merci d'avance !!!

voici le programme

#include<stdio.h>
#include<stdlib.h>
#include<string.h>


struct entry
{
char fnom[20];
char pnom[20];
char phone[10];
};


struct entry list[50];



struct entry *p_list;





int i,nbre;


int comp(const void *s1, const void *s2);


main()
{
p_list=list;


clrscr();
printf("entrez le nombre de personnes :");
scanf("%d",&nbre);


for(i=0;i<nbre;i++)
{
printf(" \nEntrez le nom : ");
scanf("%s",list[i].fnom);


printf("Entrez le pr‚nom: ");
scanf("%s",list[i].pnom);
printf("Entrez le num‚ro de t‚l‚phone (xxxxxxxx) : ");
scanf("%s",list[i].phone);
}


qsort(list, nbre, sizeof(list[0].fnom) , comp);



for(i=0;i<nbre;i++)
{
printf(" \n \nContact : %s %s",list[i].pnom,list[i].fnom);
printf(" \t \tPhone: %s \n",list[i].phone);
}


}


int comp(const void *s1, const void *s2)
{
return (strcmp(*(char **)s1, *(char **)s2));
}

1 réponse

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
11 févr. 2005 à 17:21
Je pense que c'est ton tri qui foire

qsort(list, nbre, sizeof(struct entry) , comp);
=> permet de trier les structures de la liste

int comp(const void *s1, const void *s2)
{
return (strcmp(((struct entry*)s1)->fnom, ((struct entry*)s2)->fnom));
}
=> tri les structure selon le champ nom.
0
Rejoignez-nous