Typedef struc cellule *list

ciaonataha -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Ecrire une fonction cellule *position(personne individu, liste l)retournant l'adresse de la première cellule de l dont les valeurs des champs de individu sont identiques, et NULL si cette cellule n'existe pas.

J'ecrit le programme. Mais le boucle ne marche pas. Peut etre quelquin me donne le conseil....

const int n=3;
typedef struct personne
{
char iNom[30];
char iPrenom[20];
double age;
};
//personne individu;

typedef struct cellule
{
personne entrez;
cellule *suivant;
};
cellule individu;
typedef cellule *liste;
typedef cellule tab[n];

int main()
{
int i;
cellule *liste;
cellule tab[n];
cellule a,b,c;

strcpy(a.entrez.iNom,"Kogevnikova");
strcpy(b.entrez.iPrenom,"Nina");
c.entrez.age=23.;

/*strcpy(tab[0].entrez.iNom,"Kogevnikova");
strcpy(tab[1].entrez.iPrenom,"Nina");
tab[2].entrez.age=23.;*/

printf ("Nom Prenom Age\n");
scanf("%s %s %lf",individu.entrez.iNom,individu.entrez.iPrenom,&individu.entrez.age);

//for(i=0;i<2;i++)
//{
liste=&a;
a.suivant=&b;
b.suivant=&c;
c.suivant=&a;

if (strcmp(individu.entrez.iNom,a.entrez.iNom)==0)
{printf("%s\n",a.entrez.iNom);return (1);}
if (strcmp(individu.entrez.iPrenom,a.entrez.iPrenom)==0)
{printf("%s\n",a.entrez.iNom);return (1);}
if (individu.entrez.age==c.entrez.age)
{printf("%lf\n",c.entrez.age);return (1);}
else
{printf ("Les donnes que vous avez saisit ne sont pas correct\n");return (0);}
//}

/*for (i=0;i<=2;i++)
{

tab[i].suivant=&tab[i+1];
tab[3].suivant=&tab[0];

if (strcmp(individu.entrez.iNom,tab[0].entrez.iNom)==0){printf ("%s\n",tab[0].entrez.iNom);return (1);}
if (strcmp(individu.entrez.iPrenom,tab[1].entrez.iPrenom)==0){printf ("%s\n",tab[1].entrez.iPrenom);return (1);}
if (individu.entrez.age==tab[2].entrez.age){printf ("%lf\n",tab[2].entrez.age);return (1);}
else {printf ("Les donnes que vous avez saisit ne sont pas correct\n");return (0);}

}*/
}
A voir également:

1 réponse

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
C'est très brouillon !
nettoie un peu tout ça et utilise les balises code.
Avant ta recherche, initialise correctement tout les champ.
0