Programme de conjugaison en C help

Résolu
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
 riadh -
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
A voir également:

15 réponses

mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
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.
3
tatou_38 Messages postés 1937 Date d'inscription   Statut Membre Dernière intervention   121
 
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é !
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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???
0
tatou_38 Messages postés 1937 Date d'inscription   Statut Membre Dernière intervention   121
 
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 ??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
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é ;)
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
remplace le && par ||
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
ouinn sa marche poas non plus avec les quote il me remet dans la boucle meme quand c'est un verbe du 1er groupe
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
ramune Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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?
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
d'abord declaré verbe
char *verbe;

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

bonne chance ;)
0
riadh
 
il faut mettre un "virgule" entre '% c'
0
riadh
 
ou essaye de le faire dans un tableau de chaine de caractére
0
riadh
 
puis test!! :)))
0