Bonjour tout le monde!

J'ai un problème avec un programme, ce dernier doit ouvrir deux fichiers .txt; une liste de membres et une liste de présence. Il fait appel à une fonction qui recherche le nom du membre dans la liste de présence, si le nom est dedans, il passe au membre suivant, si il ne l'est pas, il s'affiche à l'écran et le programme recommence l'analyse avec le membre suivant.

Le problème est que mon programme affiche le premier nom qui ne se trouve pas dans les deux listes et c'est tout, je pense (je suis quasi sûr, à vrai dire) que ça vient de ma condition de boucle mais je ne vois pas comment fixer le problème :/

Une condition totalement différente? Une condition supplémentaire? une autre boucle? ...

Je précise que je ne suis pas expert en programmation et la manipulation de fichiers est un sujet encore assez flou pour moi, je ne suis qu'étudiant et je n'ai pas vu cette matière...

Voici mon programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LIM 15
 
void searchName(char*, char*, FILE*, FILE*);
 
int main()
{
    char name[LIM];
    char nom[LIM];
    FILE* listeMembres=NULL;
    FILE* listePresences=NULL;
 
    listeMembres = fopen("listeMembres.txt","r");
    listePresences = fopen("listePresences.txt","r");
 
    if(listeMembres != NULL && listePresences != NULL)
    {
        searchName(name, nom, listePresences, listeMembres);
    }
    else
    {
        printf("Impossible d'ouvrir le fichier listeMembres.txt");
    }
    fclose(listeMembres);
    fclose(listePresences);
 
    return 0;
}
 
void searchName(char *name,char *nom, FILE *listePresences, FILE* listeMembres)
{
    fgets(name, LIM, listeMembres);
    fgets(nom, LIM, listePresences);
 
    while(feof(listePresences)==0)
    {
        if(strcmp(name,nom)==0)
        {
            fgets(name, LIM, listeMembres);
            rewind(listePresences);
        }
        else
        {
            fgets(nom, LIM, listePresences);
            if(feof(listePresences))
            {
                printf("%s",name);
            }
        }
    }
}
 
 
/*
Problèmes :
 
1. Affiche le premier absent et pas toute la liste d'absents (condition de boucle?)
2. affiche le dernier nom présent au lieu des absents à partir d'un certain palier
*/
Toutes informations pouvant aider à régler le problème sont les bienvenues
Merci d'avance!