Posté(e) le 20 octobre 200420 a J ai pas trop compris ton raisonnement la ... récupérer avec des scanf("%s") ok mais tu dois connaitre le nombre de mots alors non ? Il faut connaitre le nombre de mots : oui et non Si tu le connais, alors tu mets autant de %s qu'il y a de mots scanf("%s .... %s", Mot1, ...., Motn) dans l'autre cas, il te faut gerer ca dans une boucle Tant que Mot_depart <> NIL debut scanf("%s", Mot); Ajouter_liste(Mot); Mot_depart = Mot_depart - Mot; fin Pour info : le code ci-dessus n'est pas bon, c'est juste pour expliquer la méthodologue
Posté(e) le 22 octobre 200420 a Attention : les mots en langue française ne sont pas seulement séparés par des espaces, des tabulations ou des retours à la ligne. :) Le scanf ne marche pas avec les apostrophes... Même joueur joue encore.
Posté(e) le 22 octobre 200420 a Belle remarque mais celle-ci n'était pas spécifiée lors de mon examen ...
Posté(e) le 22 octobre 200420 a Attention : les mots en langue française ne sont pas seulement séparés par des espaces, des tabulations ou des retours à la ligne. :)Le scanf ne marche pas avec les apostrophes... Même joueur joue encore. scanf("%[a-zA-Z]", texte) ?
Posté(e) le 22 octobre 200420 a C'est mieux... mais tu n'as qu'un seul mot de cette facon. Le scanf attend un EOL : tant qu'il n'y a pas de retour ligne il continue d'accumuler le buffer. La boucle sur les scanf fonctionne si on revient a la ligne apres chaque mot.
Posté(e) le 22 octobre 200420 a while(phrase<NBSENTENCES) { scanf("%[a-zA-Z]", texte[phrase][mot]); texte[phrase][mot][0] = toupper(texte[phrase][mot][0]); if( getchar()=='\n') phrase++ else mot++ }
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.