Programmation language c, la fonction recherche dans un fichier

Utilisateur anonyme -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut,je suis débutante en programmation language C .En faite j'ai un projet de GESTION APPARTEMENT , parmi les fonctionnalités que je dois développer c'est la recherche dans  un fichier à partir de cin client incluse dans une structure "struct client" que j'ai mentionné , Merci de m'aider à ceci et voici comment j'ai essayer de le faire. 





struct client{
char nom [20];
char prenom [20];
long age ;
char cin[9];
char telephone[9];
ADR adr;
}; typedef struct client CL;




printf("\n introduire le numero cin de client a rechercher : ");
scanf("%s",&client);;

do
{
fscanf(f,"%s",c.cin);

if (strcmp(c.cin,client)==0)
{
printf("\n client : %s\n %s\n %d\n %ld\n %s\n ",c.nom,c.prenom,c.age,c.telephone,c.cin);
exist=1;
}
}while(!feof(f));

if(exist=0)
{
printf(" \nle le client a rechercher n'existe pas ");
}
fclose(f);


}
}
if (n!=password)
printf("erreur");

getch();
}
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Il manque des fonctions.

scanf("%s",&client);;
Pas de & devant la variable. Comment est défini cette variable ?
char client[xxx] ?
Pas besoin de mettre 2 points virgule.

}while(!feof(f));
Ce n'est pas bon pour détecter la fin d'un fichier. Il faut lire le fichier par exemple via fgets(...).
Il faut rajouter également une condition de sortie dans le cas où existe vaut 1.

if(exist=0)
L'opérateur de comparaison en C est le double égal (==).

printf("erreur");
Il faut mettre un '\n' en fin de message avant le return 0; final.

getch();
Ce n'est pas standard. Plutôt getchar().

Cdlt,
0