bonjour tout le monde voila j'ecris un programme pour extraire les mots d'un texte entré au clavier sauf que j'obtiens pas trop ce que je veux
voici le code: en fichier attaché
code.txt
bonjour tout le monde voila j'ecris un programme pour extraire les mots d'un texte entré au clavier sauf que j'obtiens pas trop ce que je veux
voici le code: en fichier attaché
code.txt
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Déjà:
Jamais sur un flux entrant, que sur un flux sortant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part fflush(stdin);
Tu n'as pas de vérification côté débordement de tableau: si je tape un mot trop grand, ton programme va planter...
scanf: Déconseillé, utiliser fgets pour récupérer une ligne. Car scanf récupère un seul mot donc si tu tapes "Bonjour comment", scanf récupère seulement "Bonjour"...
C'est pas la peine de mettre un fflush partout, mettre un '\n' comme tu le fais suffit généralement...
C'est 0 pour un retour normal ou EXIT_SUCCESS, c'est encore mieux (include stdlib.h)
Code : Sélectionner tout - Visualiser dans une fenêtre à part return 1;
Jc
merci j'ai fait les changements mais ça marche toujours pas
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Parfait, on peut les voir ces changements ?Envoyé par krachik
L'itération est humaine; la récursion, divine.
"strtok" est fait pour.pour extraire les mots d'un texte
Attention toutefois à faire une sauvegarde de la chaine originale si necessaire car strtok la modifie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 char s[101]; printf("ligne (100 max) : "); fflush(stdout); fgets(s,101,stdin); char *souschaine=strtok(s," "); printf("%s\n",souschaine); while((souschaine=strtok(NULL," "))!=NULL){ printf("%s\n",souschaine); }
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
Merci pour les reponse j'ai un truc assez simple et ça marche tres fort
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char texte[120]; char mot[26]; int i; printf("Tapez le texte :"); gets(texte); for (i=0;i<strlen(texte);i++){ scanf("%s",mot); printf(" %s ",mot); } return 0; }
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Ca c'est du code bien buge. Faire un truc aussi mauvais en si peu de ligne faut etre fort quand meme.Envoyé par krachik
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
voila c'est plutot ça j'ai oublié le "f" du scanf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(){ char texte[120]; char mot[26]; int i; printf("Tapez le texte :"); gets(texte); for (i=0;i<strlen(texte);i++){ fscanf(test,"%s",mot); printf(" %s ",mot); } return 0; }
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Bah ca change rien au fait que ce code est bien crade, et encore pire celui la ne compile meme pas. En plus il est faux (enfin l'autre aussi l'etait).Envoyé par krachik
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
Non il faut "fgets" qui est sûre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part gets(texte);
Non ça ne sert à rien de regarder chaque caractère.
Code : Sélectionner tout - Visualiser dans une fenêtre à part i<strlen(texte)
C'est "sscanf" qui permet de lire une chaine formatée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part fscanf(test,"%s",mot);
"fscanf" c'est pour la lecture d'un flux formaté.
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager