Bonsoir,

je souhaite si quelqu'un pourra me corriger ce bloc d'instruction et me dire si je l'ai compris correctement ou pas, et veuillez SVP m’éclaircir le dernier bloc à partir de while (dans le pgm appelant)

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
63
64
65
66
67
68
#include<stdio.h>
#include<conio.h>
#include<string.h>
char input[30]="",name[ 50]="";// la  chaine saisie
int n,i=1,trouve;
char ret[50];
char iStr[1];
char rep = 'n';
char fileName[10];
int chercher(char pSalle[10],char pName[50])
 
{
    int res;
    FILE *db1;
        db1 = fopen(pSalle,"r"); //on ouvre db1 en mode ecriture
    if (db1 == NULL)  //s'il ne s'ouvre pas correctement le valeur NULL est retournée
            {
                printf("Erreur de lecture des données.\n"); //afficher ce message
                res = 0; //rein trouver
            }
    else
            {
                fscanf(db1,"%s",ret);// lire le nbre d'elements du fichier, on lit et on enregistre dans ret
                 while(strcmp(ret,"EOF")!=0 && strcmp(ret,name)!=0) //tantque la valeur lue est différente de  EOF et valeur saisie 
                                            fscanf(db1,"%s",ret); //donc afficher le nom saisi
                 if (strcmp(ret,"EOF")!=0) //si seulemnt la valeur lue est différente à EOF
                                             res = 1 ;//la valeur lus et saisie sont identiques
                 else res = 0;//rien trouver
            }
fclose(db1);
return res;
}
main()
{
        printf("veuillez saisir quelque chose :\n\n");//donner la main au user de saisir 
        while (strcmp(input,"")==0)//compare ce que le user a saisie avec le vide
            {
                scanf("%s",input);//lire et afficher ce le user à tapé
            }
        puts("\nBonjour...\n\n");//afficher bonjour..
        printf("Quel est votre nom :\n\n");//afficher ce msg
        scanf("%s",name);//lire et afficher ce que le user a tapé
        printf("\nBienvenue %s\n\n",name);//afficher bienvenue +nom entré
 
        while ( !trouve && i<= 3)
        {
            switch(i)
                {
                    case  1:    strcpy(fileName ,"salle1.txt");
                                break;
                    case  2:    strcpy(fileName , "salle2.txt");
                                break;
                    case  3:    strcpy(fileName , "salle3.txt");
                                break;
                }
            if (chercher(fileName,name))
                {
                    trouve = 1;
                    i = i+3;
                }
            else i = i+1;
        }
        if (trouve)
            printf("\n\nVeuillez vous orienter vers la salle %i\n\n\n\n",i-3);
        else puts("Desole, votre nom n'existe pas dans la base de donnees,\contacter le service\ninscription.\n\n\n\n");
 
getch();
}
Je vous remercie infiniment d'avance.