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. d'abord declaré verbe
      char *verbe;

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

      bonne chance ;)
      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. 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. 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. 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. 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. 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. 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. 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. 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é !