IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

comment faire pour redemander aux utilisateurs de resaisir le verbe en boucle


Sujet :

C

  1. #1
    Candidat au Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut comment faire pour redemander aux utilisateurs de resaisir le verbe en boucle
    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(){
    }

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,



    c'est pas mal comme idée, on pourrait sûrement faire la même chose pour les noms communs comme "verbe" ou "programme", en revanche un parser grammatical est plus compliqué, "le programme arrive à chercher", quant à évaluer la qualité d'une phrase, sa capacité à transmettre l'information efficacement, avec le moins d’ambiguïté possible pour celui qui la lit, c'est encore une autre paire de manche malheureusement

    concernant ton code, ce n'est pas à la fonction Search_in_File() de redemander la saisie, son rôle -à priori- doit se limiter à chercher dans le fichier comme son nom l'indique, et retourner une valeur par exemple -1 si le verbe n'est pas trouvé
    du coup c'est dans main() qu'il faudra mettre une boucle while pour ressaisir le verbe autant de fois que nécessaire, un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    do {
      val = Search_in_File(...);
    } while (val == -1);

  3. #3
    Candidat au Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    merci de ta réponse. je fais des fautes car ce n'est pas ma langue maternelle et je suis sur un programme qui demande beaucoup d'effort surtout pour les débutants.... anyways,

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int main()
    {
       int	val=0;
       int temps = -1;
       char verbe[20];
       do {  
          printf(" Donnez un verbe français à conjuguer : ");
          scanf("%s",verbe);
          verbe[0] = toupper(verbe[0]) ;
          val=Search_in_File("verbs.txt",verbe);
     
          } while (val == -1);
    }

    Est-ce que je dois faire comme ça ?

    Merci beaucoup.

  4. #4
    Candidat au Club
    Femme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Février 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    je vous remercie. j'ai réussi à tourner le program. bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/12/2014, 10h07
  2. Réponses: 11
    Dernier message: 19/04/2013, 23h35
  3. Réponses: 3
    Dernier message: 30/10/2012, 18h48
  4. Réponses: 20
    Dernier message: 26/01/2009, 17h15
  5. Comment faire pour exécuter un job coté serveur à la demande de l'utilisateur
    Par DEV-10 dans le forum Développement Web en Java
    Réponses: 6
    Dernier message: 13/11/2006, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo