toutes les fonctions "fonctionnent" trés bien a part la foncton "modifier"
corp de la fonction :
etudiant *modifier(etudiant *deb)
{
etudiant *nouveau;
nouveau = (etudiant*)malloc(sizeof(etudiant));
printf("Entrez le nom de l'etudiant : ");
scanf("%s",nouveau->nom);
printf("Entrez le prenom de l'etudiant : ");
scanf("%s",nouveau->prenom);
printf("Entrez le numero d'etudiant : ");
scanf("%d",&(nouveau->numero));
printf("Entrez la note du pemier partiel : ");
scanf("%f",&(nouveau->note1));
printf("Entre la note du second partiel : ");
scanf("%f",&(nouveau->note2));
deb=nouveau;
}
et dans le programme principal:
printf(" entrer nom de l'etudiant a modifier : ");
scanf("%s",nom);
tmp=debut;
while(tmp!=NULL)
{
if(strcmp(tmp->nom,nom)==0)
{
tmp=modifier(tmp);
}
else
{
tmp=tmp->suiv;
}
}
le problem :
une fois qu'il a trouver l'etudiant à modifier
je peut le modifier,mais il me renvoi une erreur une fois que c'est fait."voir image"
SemBy
Messages postés15Date d'inscriptionvendredi 2 janvier 2004StatutMembreDernière intervention26 mars 2005 24 févr. 2004 à 16:18
ce que je veux c'est modifier les notes d'un étudiant dans la liste.
est ce que je peux les modifier directement ou il faut que je suprime cet etudiant puis que je le remplace par un autre?comment?
ou ; je dois créer toute une nouvel liste ou l'étudiant rechercher n'éxiste pas?
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 24 févr. 2004 à 21:12
pour modifier les paramètres de l'étudiant, ça ne sert à rien de recréer une structure, utilise celle passée en paramètre et modifie les champs de la structure.