Ceci est un programme qui enregistre un nom et un mumero de telephone.

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
void creer(struct Enreg fiche){
     int rep=0; //valeur du test
 
        printf("Sous-Programme création dune fiche.\n");
        printf("Appuyez sur une touche...\n");
        getch();
 
        //saisie du nom et du numero
             printf("\nSaisir le nom: ");
             scanf("%s", &fiche.nom);
             printf("Saisir le numero: ");
             scanf("%s", &fiche.tel);
 
//on demande si on veux conserver la fiche ou pas
 
             printf("Voulez vous conserveez cette fiche(1=yes//0=no): ");
             scanf("%d", &rep);
   /*si oui , tenter d'ouvrir le fichier*/         
             if(rep==1){
             fd=fopen("repertoire.txt", "a+");
/*echec d'ouverture*/
             if(fd==NULL){
                     printf("\nError lors de l/'ouverture du fichier spécifié.!\n");
                     }
/*ouverture réussie, on enregistre les données*/
                     else{
                          fprintf(fd, "%s\n", fiche.nom);
                          fprintf(fd, "%s\n", fiche.tel);
 
                          fclose(fd);
                          printf("Sauvegarde reussie!\n");
                          }
                     }
/*au cas ou on ne veux pas conserver la fiche*/
 
    else{
         fclose(fd);
         printf("Echec sauvegarde!\n");
         } 
 
             return;
        }
mon probleme se situe à ce stade:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
//on demande si on veux conserver la fiche ou pas
 
             printf("Voulez vous conserveez cette fiche(1=yes//0=no): ");
             scanf("%d", &rep);
   /*si oui , tenter d'ouvrir le fichier*/         
             if(rep==1)
Ainsi ici "rep" est declaré de type int, et je n'ai pas de probleme.

mais quand je déclare "rep" de type char, pour qu'on lui affecte la valeur 'y' ou 'n' ...bein ça ne marche pas, le programme s'arrête.