Programme de conjugaison en C help

Résolu
Bonjour,

Bonne Anne a tout le monde =D

Bon passons aux choses serieuses :p

j'ai un petit probleme: je veux creer un programme qui me demande de rentrer un verbe du 1e rgroupe et qui verifie cela (terminaison par "er") ma fonction donne ça

int saisie()
{
int term;
char verbe[20];

do
{
printf("saisir verbe du 1er groupe\n");
scanf("%s",verbe);

term=strlen(verbe);
printf("\n%c %c\n",verbe[term-2],verbe[term-1]); */ ça c'est un test */
}
while( ((verbe[term-2]) !="e") && ((verbe[term-1]) !="r")); /* je soupçonne que c'est ici que sa plante */

printf("\n%s est un verbe du 1er groupe\n",verbe);

return(0);
}

pourquoi sa marche pas T_T
Merci de vos reponses

15 réponses

  1. je sais pas comment tu fais chez moi ça marche...
    while( ((verbe[term-2]) !='e') || ((verbe[term-1]) !='r'));

    ex : verbe du premier groupe
    saisir verbe du 1er groupe
    parler
    
    e r
    
    parler est un verbe du 1er groupe
    
    Process returned 0 (0x0)   execution time : 4.879 s
    Press any key to continue.
    

    verbe du deuxieme groupe
    saisir verbe du 1er groupe
    finir
    
    i r
    saisir verbe du 1er groupe
    choisir
    
    i r
    saisir verbe du 1er groupe
    chanter
    
    e r
    
    chanter est un verbe du 1er groupe
    
    Process returned 0 (0x0)   execution time : 17.628 s
    Press any key to continue.
    
    1. tu fais

      if (strchr( verbe , "er"))
      printf( "%s est un verbe du premier groupe\n" , verbe );
      else
      printf( "%s n'est pas un verbe du premier groupe\n" , verbe );

      C'est pas plus compliqué !
      1. je sais pas utiliser strchr T_T il me met une erreur "wanted 'int',got signed char *'"

        mais sinon ma manière n'est pas correcte???
        1. mea culpa, je me suis gourancé, il faut utiliser strstr() et non strchr(), voillà pourquoi !

          strchr() cherche l'aparition d'un caractère dans une chaîne, strstr() celle c'une chaîne dans une chaîne.

          Ta manière est peut-être correcte, mais pourquoi vouloir réinventer l'eau chaude ??
          1. ton programme est bon il suffit de remplacer les deux " par des quote '
            comme ça
            while( ((verbe[term-2]) !='e') && ((verbe[term-1]) !='r'));

            les " c'est pour plusieurs caracteres a la suite pour un seul caractere c'est ' qu'il faut utilisé ;)
            1. mais du coup si on tombe sur le verbe "verdir" il me met que c'est un 1er groupe alors que c'est pas vrai :p
              1. ouinn sa marche poas non plus avec les quote il me remet dans la boucle meme quand c'est un verbe du 1er groupe
                1. meme en remplaçant les && par des || sa marche pas j'y arriverai jamais lol en tout cas merci pour l'effort que tu te donnes a m'aider =D
                  1. whaouuuuu merci sa marche ouuuuf (c'est moi j'ai mal recopier) sa fait plus d'une heure que je suis sue ce probleme mes yeux commencent a se fatiguer lol *_*
                    Merci encore
                    1. j'ai encore une petite question ^_^

                      si je veux utiliser un malloc pour creer un tableau dynamique (parceque verbe[20] sa fait pas classe :p ) comment je doit m'y prendre?
                      1. d'abord declaré verbe
                        char *verbe;

                        ensuite pour allouer
                        verbe = (char *) malloc (20 * sizeof(char));

                        bonne chance ;)