bonjour

le code que j'ai à un bug,
il boucle après la saisie du numéro de téléphone en répétant
voulez-vous enregister cette fiche ? (oui/non)
merci pour votre aide

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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
 
struct enreg
{
    char *nom[30];
    char *tel[10];
 
};
 
FILE *fd;
#define NOM_FICHE "fiche"
 
//sous programme de creation de fiche
int creation ()
{
    struct enreg en;
    char res[4];
    printf("Entrer le nom\n");
   scanf("%s",en.nom);
    printf("Entrer le numero de telephone");
    scanf("%s",en.tel);
    do
    {
        printf("voulez-vous enregister cette fiche ? (oui/non)");
        scanf("3%s",res);
    }
    while (strcmp(res,"non")&& strcmp(res,"oui"));
    if (res[0]=='o')
    {
        if (fseek(fd,0,SEEK_END)||
                fprintf(fd,"%s\n%s\n",en.nom,en.tel)==-1)return-1;
    }
    return 0;
}
 
//sous programme de recherche de fiche
int recherche ()
{
    printf("sous-programme de recherche d'une fiche\n");
    printf("appuyer sur une touche...");
    getch();
    //on attent jusqu'à ce que la touche soit frapper
}
 
 
//programme d'affichage du menu
int main()
{
    //menu pour le choix de la selection
    int selection, res;
    fd=fopen(NOM_FICHE,"a+");
    if(!fd)
    {
        printf("impossible d'ouvrir le fichier!");
        return-1;
    }
    //faire tant que Fin de programmme n'est pas selectionner
    do
    {
        // faire tant que le choix 1 ou 2 n'est pas selectionner
        do
        {
            printf("Choisissez une option:\n"
                   "1. création d'une nouvelle fiche\n"
                   "2. Recherche d'une fiche\n"
                   "3. Fin de programmme\n");
            // lire la selection
            scanf("%d",&selection);
            if (selection <1||selection>3)printf ("selection non valide\nVeuillez saisir les valeur 1, 2 ou 3\n");
        }
        while (selection <1||selection>3);
        if (selection==1) res=creation();
        if (selection==2) res=recherche();
    }
    while (selection!=3 && res==0);
    fclose(fd);
    return 0;
}