Recherche par nom

cobra176
Messages postés
86
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
21 janvier 2009
- 4 juin 2005 à 19:53
mezaya
Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010
- 5 juin 2005 à 16:48
bonjour tout le monde
j'ai un programme en c que j'ai trouvé ici qui me permet de faire un agenda.
il y a une fonction de recherche par numéro et j'essaie de faire la recherche par nom mais ça ne marche pas
quelqu'un peut m'aider

voici le code

void recherche()
/*Permet de recherche un enregistrement (une fiche).*/
{int TrouveRecherche,RepRecherche;
char NumRecherche;
system("cls");


printf("****************************************************************************\n");
printf("* *\n");
printf("* RECHERCHE *\n");
printf("* *\n");
printf("****************************************************************************\n");
fichier = fopen("carnet.txt","r");
printf("\n\nSaisissez le Nø de l'enregistremet recherche : ");
scanf("%d",&NumRecherche);
TrouveRecherche = 0;
do
{ fscanf(fichier,"%d %s %s %s %s %s %s %s %s %s %s %s\n",&FNumEnreg,&FNom,&FPrenom,&FDateNaissance,&FRemarques,&FAdresse,&FVille,&FCodePostal,&FPays,&FTelephone,&FPortable,&FMail);
if (NumRecherche == FNumEnreg)
TrouveRecherche = 1;
}while((TrouveRecherche != 1) && (!feof(fichier)));
fclose(fichier);
if (TrouveRecherche != 1)
printf("\nL'enregistrement n'existe pas.");
else
{ /* -- Affichage dans une pseudo carte de visite -- */
printf("********************************************************************************\n");
printf("* RESULTAT *\n");
printf("* *\n");
printf("********************************************************************************\n");
printf("Nø d'enregistrement : %d\n",FNumEnreg);
printf("Nom : %s\n",FNom);
printf("Tel Fixe : %s\n",FTelephone);
printf("Prenom : %s\n",FPrenom);
printf("Tel Port : %s\n",FPortable);
printf("Mail : %s\n",FMail);
printf("Adresse : %s\n",FAdresse);
printf("code postal : %s Ville : %s\n",FCodePostal,FVille);
printf("pays: %s\n",FPays);
printf("********************************************************************************");
}
printf("\n\nUne autre recherche (0.Non - 1.Oui) ?");
scanf("%d",&RepRecherche);
if (RepRecherche == 1)
recherche();
else
menu();
}

il recherche par FNumEnreg et je voudrai par FNom

merci de votre aide

3 réponses

mezaya
Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

5 juin 2005 à 00:43
... // code avant

char NomRecherche[256]; // limité a 256 caracteres

printf("\n\nSaisissez le Nø de l'enregistremet recherche : ");

scanf("%s",&NomRecherche);

TrouveRecherche = 0;

do

{ fscanf(fichier,"%d
%s %s %s %s %s %s %s %s %s %s
%s\n",&FNumEnreg,&FNom,&FPrenom,&FDateNaissance,&FRemarques,&FAdresse,&FVille,&FCodePostal,&FPays,&FTelephone,&FPortable,&FMail);

i f (strcmp(NomRecherche,FNom) == 0)

TrouveRecherche = 1;

}while((TrouveRecherche != 1) && (!feof(fichier)));

fclose(fichier);

if (TrouveRecherche != 1 )

.. // code apres

Voili,Voilou
0
cobra176
Messages postés
86
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
21 janvier 2009

5 juin 2005 à 11:21
merci de ton aide
je me demander comment faire si on met que les 3 premieres lettres du nom ?
0
mezaya
Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

5 juin 2005 à 16:48
pour tester les 3 permiere lettres il faut faire



if( NomRecherche[0] = = FNom[0] && NomRecherche[1] == FNom[1] && NomRecherche[2] == FNom[2] )

trouveRecherche = 1;


Voili,Voilou
0