Programma C. extraction des mots

Résolu/Fermé
cyrinix - 1 juin 2008 à 15:30
 cyrinix - 1 juin 2008 à 17:09
Bonjours à tous les developpeurs icic présent, J'ai un probleme que je souffre depuis 3jours et j'espere que vous m'aidiez.
Donc voila
J'ai fichier texte qui contient des phrase.le programme doit afficher les mots de chaque ligne.
Moi j'ai essayé mais ca na pas donnée un bon resultat:
voila mon code : Bon là j'ai pas testé sur un fichier mais j'ai testé sur une simple phrase "Hello World".



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

void extraireMot(char *mot, size_t *ret);

int main (void)
{
size_t i = 0;
int j;
char mot[] = " hello world ";

for (j = 1; j <= 4; j++)
{
printf ("Mot %d : ", j);
extraireMot (mot, &i);
puts ("");
}

getchar ();
return 0;
}

void extraireMot (char *mot, size_t *ret)
{
size_t i = *ret;
size_t len = strlen (mot);

while (len > i && mot[i]==' ')
{
i++;
}

while (len > i && mot[i]!=' ')
{
putchar (mot[i]);
i++;
}

*ret = i;
}




merci d'avance , je compte sur vous

5 réponses

daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
1 juin 2008 à 15:46
essaie ceci :

void affiche_mot(char *s){



  if (s!=NULL){

    int length = strlen(s);
    int i=0;
    while(i<length){

     if (s[i] != ' ' && s[i] != '\n'){
 
       printf("%c",s[i]);
     }
     else
        printf("\n");

     i++;
    }
  }
}



essaie voir si cela fonctionne, peut-être qu'il y a des bugs mais je pense que ça peut marcher.

tchû
0
merci de votre aide, mais ce sera gentil si vous completz le main:)
merci
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
1 juin 2008 à 15:57
tu n'as jamais codé en C ? utilise les fonctions fopen, fscanf et fopen dans cet ordre et cherche de l'aide avec google, les forums servent d'aide et non pas à faire les problemes des autres, donc regarde ses trois fonctions que tu connais peut-etre, voici le plan :

il faut ouvrir le fichier -> fopen

il faut le lire -> fscanf

ensuite tu extrait avec la petite fonction que J'AI FAIT

puis enfin tu ferme le fichier -> fclose

si tu as des questions vas-y, je te repondrai


tchû
0
bien entendu DARONMASTER.
mais moi j'ai essayé comme meme.
merci
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
1 juin 2008 à 16:01
ok, il n'y a pas de mal.

suit le plan que je t'ai filé et ça marchera

si tu as des questions viens me les posez, cherche avant bien entendu...

bon courage

tchû
0
ok merci
0
:(
Non ca n'a pas marché Dronmaster, lorsque j'ai executé il ma affiché seulement la lettre "B" car mai j'ai entré come parametre la phrase "Bonjour tout le monde",
0
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
1 juin 2008 à 16:19
voici mon main :


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



void affiche_mot(char *s);

int main(){


char *s = "salut les gens comment ca va";

affiche_mot(s);

return 0;

}


void affiche_mot(char *s){



  if (s!=NULL){

    int length = strlen(s);
    int i=0;
    while(i<length){

     if (s[i] != ' ' && s[i] != '\n'){
 
       printf("%c",s[i]);
     }
     else
        printf("\n");

     i++;
    }
  }
}








et ca marche nickel
0
merci Daronmaster vous etes troooooooooooooooooooooooooooooooooooop gentillllllllllllllllllllll.
0

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

Posez votre question
daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
1 juin 2008 à 16:44
de rien, mais je ne t'ai pas mis les fopen fscanf ...

donc a toi de joué,

et si tout est ok passe en résolu, tout en haut de ton post, clique sur "probleme resolu"

tchû
0
:) oui je sais.
c 'est mon role. à moi de jouer.
merci.
0
Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009 46 > cyrinix
1 juin 2008 à 16:55
voila pour t'aider :) :
https://openclassrooms.com/fr/courses
bonne chance ^^
0
cyrinix > Brachior Messages postés 613 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 22 juin 2009
1 juin 2008 à 17:06
merci Brachior
0
Merci Daronmaster, ca marche.
merci encore une fois.
faut que je termine le reste.
0