cs_beb30
Messages postés10Date d'inscriptionmardi 14 février 2006StatutMembreDernière intervention10 avril 2006
-
28 mars 2006 à 10:21
BunoCS
Messages postés15476Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention 3 mai 2024
-
28 mars 2006 à 10:27
Voila, j'ai un petit problème avec une boucle WHILE.
Avec ce programme, je lis un fichier texte et je verifie que je trouve bien la chaine de caractère saisie, et dans le cas ou il ne trouve pas je souhaite recommencer jusqu'à le trouver.
Avec ce programme, si à la premiere demande j'indique le bon filtre, pas de probleme il trouve.
Si par contre, je lui donne un mauvais filtre en premier, j'ai beau rentré un bon filtre par la suite, il ne le trouve jamais.
Si je ne ss pas clair n'hesitez pas a me le dire!!!!!
printf("Quel fltre voulez vous appliquer?\n");
gets(filtre);
printf("\n");
printf("Le filtre souhaite est: %s\n\n", filtre);
printf("Test de validite.........\n\n");
if (TXT ! = NULL) /* Si le fichier est ouvert*/
{
char ligne[50];
while (filter!=1)
{
while (fgets (ligne, sizeof ligne, TXT) != NULL) /* lecture des lignes */
{
if (strstr (ligne , filtre) != 0) /*Condition pour arretter la boucle: retrouver le filtre dans le .txt*/
{
printf ("Ce filtre est valide\n"); /* filtre trouvé*/
fclose (TXT); /* fermeture du fichier texte*/
filter=1;
}
}
if (strstr (ligne , filtre) == 0) /* filtre non trouvé*/
{
printf ("Ce filtre est non valide, Recommencez!! \n\n");
filtre[0]='\0';
filter=0;
}
gets(filtre);
}
}
else
{
printf ("Erreur d'ouverture du fichier\n");
filter=0;
}
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage