CommentCaMarche
Recherche
Posez votre question Signaler

Programme qui lit un verbe régulier Algo+C

Mr WaLiDoS 51Messages postés mercredi 2 décembre 2009Date d'inscription 4 mai 2011Dernière intervention - Dernière réponse le 14 oct. 2010 à 23:34
Bonjour,
en utulisant les fonction gets,puts,strcat,strlen
Programme qui lit un verbe régulier (er) au clavier
+
affiche la conjugaison au present de l'indicatif
+
controlez s'il s'agit bien d'un vb en er avant de conjuger
comment se fait cet exercice ?
Lire la suite 
Réponse
+1
moins plus
Il ya des fautes

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
char ch1[10],ch[10];
int ln;
do
{
printf("ecrire une chaine");
gets(ch1);
ln=strlen(ch1);
}
while (ch1[ln-2]!='e') || (ch1[ln-1]!='r')
ch1[ln-2]='\0';
/*je*/
strcpy(ch2,ch1);
strcat(ch2,"e");
printf("je %s \n",ch2);
/*tu*/
strcpy(ch2,ch1);
strcat(ch2,"es");
printf("tu %s \n",ch2);
/*il*/
strcpy(ch2,ch1);
strcat(ch2,"e");
printf("il %s \n",ch2);
/*nous*/
strcpy(ch2,ch1);
strcat(ch2,"ons");
printf("nous %s \n",ch2);
/*vous*/
strcpy(ch2,ch1);
strcat(ch2,"ez");
printf("vous %s \n",ch2);
/*ils*/
strcpy(ch2,ch1);
strcat(ch2,"ent");
printf("ils %s \n",ch2);
return;
}
fiddy 10181Messages postés samedi 5 mai 2007Date d'inscription ContributeurStatut 28 février 2015Dernière intervention - 14 oct. 2010 à 23:34
main renvoie un entier. Il faut donc mettre : int main(void) et à la fin return 0;

A la fin de ton while (do while) tu dois mettre un point virgule.

Sinon très bien pour ton code ;-). Après, dommage d'utiliser gets qui est une fonction à bannir, mais bon si ton prof l'a demandé... De plus tu pourrais très bien te passer des fonctions strcpy et strcat.
Par exemple : printf("je %se\n", ch1); etc. pour l'ensemble des personnes.
Et en amélioration, si tu connais les tableaux, tu peux remplacer toutes les personnes (je, tu, il, ...) par une simple boucle for.
Et enfin, si tu as vu les fonctions, tu pourrais t'en créer une plutôt que de dupliquer ton strcpy, strcat et printf. Mais ce n'est que des améliorations, ton code est fonctionnel (à condition de corriger les erreurs ci-dessus).

Cdlt,
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Commence par nous expliquer ce que tu as fait, compris ? Explique nous ce qui te pose problème, etc.
Ajouter un commentaire
Réponse
+0
moins plus
Ecrire("donner un verbe avec le terminaison en er");
Lire("ch");
si ch=vrai alors
strcat(e)
strcat(es)
strcat(e)
strcat(ons)
strcat(etez)
strcat(ent)
sinon
Ecrire("ce verbe n'est pas en er");
Ajouter un commentaire
Réponse
+0
moins plus
alors ?
Ajouter un commentaire
Réponse
+0
moins plus
Tu mélanges code C (strcat) avec algorithmique (Lire, Si, ...).
Tu dois utiliser exclusivement puts, gets, strcat et strlen ou tu peux utiliser d'autres fonctions genre printf ?
Ajouter un commentaire
Ce document intitulé «  Programme qui lit un verbe régulier Algo+C  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.