Question en c

Fermé
aymane! Messages postés 28 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015 - 27 déc. 2015 à 19:07
aymane! Messages postés 28 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015 - 27 déc. 2015 à 22:00
bonsoir dans ce programme je veux afficher juste les verbes qui sont dans le tableau, mais quand je fais entrer un verbe qui se termine en 're' il le programme le conjugue je sais pas où est ma faute .
Merci d'avance.


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char tab1[5]={'vendre','perdre','coudre','descendre','attendre'};
char verbe[20];
int i,s;



int main()
{
printf("Donner moi un verbe\n");
scanf("%s",verbe);
s=0;
for (i=0;i<=5;i++){
if (tab1[i]==verbe[strlen(verbe)]){
s++; }
}
if (s>0){
verbe[strlen(verbe)-3]='\0';
printf("je %sds\n",verbe);
printf("tu %sds\n",verbe);
printf("il/elle %sd\n",verbe);
printf("nous %sdons\n",verbe);
printf("vous %sdez\n",verbe);
printf("ils/elles %sdent\n",verbe);

}

else if (s==0){
printf("non");}


return 0;
}>

1 réponse

Franck7511 Messages postés 14296 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 10 août 2017 1 121
Modifié par Franck7511 le 27/12/2015 à 19:17
1/ Je t'ai déjà dit que tu faisais un mauvais usage des variables globales...

2/ L'idée sous-jacente n'est pas bonne : les verbes que tu as choisi marchent, mais joindre, peindre, etc. ça ne marche même plus...

3/ char tab1[5]={'vendre','perdre','coudre','descendre','attendre'};
=> c'est faux, regarde ce que tu déclares. Et les chaînes c'est entre guillemets.

4/ Ça fait quoi ça ?
s=0;
for (i=0;i<=5;i++){
if (tab1[i]==verbe[strlen(verbe)]){
s++; }
}

PS : Comme dit sur l'autre topic, le problème est (bien) plus dur que tu ne le penses à cause des verbes irréguliers.
0
aymane! Messages postés 28 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015
27 déc. 2015 à 19:18
il compare le verbe entrant est ce qu'il existe dans la liste de tab1
0
aymane! Messages postés 28 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015
27 déc. 2015 à 19:19
si je veux juste vérifier le verbe entrant avec les verbes de Tab1 j'utilise quoi ?
0
Franck7511 Messages postés 14296 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 10 août 2017 1 121
27 déc. 2015 à 19:21
Non tu n'as pas bien réfléchi à l'implémentation.

Réfléchis déjà au point 3.

Ensuite, il y a une fonction toute faite pour la comparaison de deux chaînes, l'opérateur == comparera seulement les adresses des deux chaînes.

Exemple :

char str1 [10] = "chaine"
char str2 [10] = "chaine"

Mais str1 == str2 est faux.
0
aymane! Messages postés 28 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 27 décembre 2015
Modifié par aymane! le 27/12/2015 à 19:21
pour ta 3ème remarque c'est un tableau que je déclare
0
Franck7511 Messages postés 14296 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 10 août 2017 1 121
27 déc. 2015 à 19:22
Un tableau de quoi ?
0