Bonjour à tous,

Le programme n'est pas complet mais j'ai un problème. Le programme arrive à chercher le verbe mais si j'écris la 2ème fois quelque chose au lieu d'un verbe, il ne demande pas de saisir un verbe français. Il sort de la boucle.

Quelqu’un pourrait m'aider svp ? Merci beaucoup.

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
 
 
void Present()       ;
void Passe_compose() ;
void Future_simple();
void  Imparfait()   ;
void PQP()          ;
void Passe_simple()  ;       
void Passe_anterieur();
void Future_anterieur();
 
int Search_in_File(char *fname,char *str) {
    FILE *fp;
    int line_num = 1;
    int find_result = 0;
    char fverbe[20];
 
    //gcc users
    if((fp = fopen("verbs.txt", "r")) == NULL) {
 
        return(-1);
    }
 
    while(fgets(fverbe, 20, fp) != NULL) {
        if((strstr(fverbe, str)) != NULL) {
            //printf("%s\n est verbe francais",fverbe);
 
            find_result++;
        }
        line_num++;
    }
 
    if(find_result == 0) {
        printf("  ce n'est pas un verbe français, saississez de nouveau un verbe français s'il vous plait \n");
        scanf("%s",fverbe);
    }
 
    //Close the file if still open.
    if(fp) {
        fclose(fp);
    }
       return(0);
 
}
 
int main()
{
    char verbe[20];
    printf(" Donnez un verbe français à conjuguer : ");
    scanf("%s",verbe);
    verbe[0] = toupper(verbe[0]) ;
    Search_in_File("verbs.txt",verbe);
    int temps = -1;
while (temps != 0)
{
 
printf("donner le temps dans le quel vous voulez conjuguer votre verbe saisi, choississez le temps fourni dans la liste \n");
printf("-1- Présent\n");
printf("-2- Passé composé\n");
printf("-3- Future simple\n");
printf("-4- Imparfait\n");
printf("-5- Plus que parfait\n");
printf("-6- Passé simple\n");
printf("-7- Passé antérieur\n");
printf("-8- Future antérieur\n");
    scanf("%d",&temps);
    switch(temps)
    {
        case 1 : Present()       ;
                 break          ;
        case 2 : Passe_compose()    ;
                 break          ;
        case 3 : Future_simple()   ;
                 break          ;
        case 4 : Imparfait()   ;
                 break          ;
        case 5 : PQP()          ;
                 break          ;
        case 6 : Passe_simple()  ;       
                 break          ;
        case 7 :  Passe_anterieur();
                 break;
        case 8 : Future_anterieur();
 
}
 }
}
void Present()
{
    char s[20];
    printf("voici la conjugaison en présent\n");
    s[strlen(s)-2]='\0';
    printf("Je %se\n\n",s);
    printf("Tu %ses\n\n",s);
    printf("Il %se\n\n",s);
    printf("Elle %se\n\n",s);
    printf("Nous %sons\n\n",s);
    printf("Vous %sez\n\n",s);
    printf("Ils %sent\n\n",s);
    printf("Elles %sent\n\n",s);
 
}
void Passe_compose()
{
 
}
void Future_simple()
{
}
void Imparfait(){
 
}
void PQP() {
}
void Passe_simple() 
{
}
void Passe_anterieur(){
}
void Future_anterieur(){
}