Besoin d'aide : liste chainée

SemBy Messages postés 15 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 26 mars 2005 - 24 févr. 2004 à 16:07
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 24 févr. 2004 à 21:12
salut
jutilse une liste chainée pour pouvoir traité une structure.

declaration de ma structure :

struct etu
{
 char nom[25];
 char prenom[25];
 int numero;
 float note1;
 float note2;
 float total;
 struct etu* suiv;
};


declaration des fonctions

void saisie(etudiant *); 
void affiche(etudiant*);
void save(etudiant,char *);
void load(etudiant, char *);
etudiant *ajouter(etudiant * , int);
etudiant *modifier(etudiant *);


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"

2 réponses

SemBy Messages postés 15 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 26 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?
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
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.
0
Rejoignez-nous