mogwai93 Posté(e) le 20 octobre 2004 Posté(e) le 20 octobre 2004 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
Irgoff Posté(e) le 22 octobre 2004 Posté(e) le 22 octobre 2004 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.
NiTrOuS Posté(e) le 22 octobre 2004 Posté(e) le 22 octobre 2004 Belle remarque mais celle-ci n'était pas spécifiée lors de mon examen ...
theocrite Posté(e) le 22 octobre 2004 Posté(e) le 22 octobre 2004 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) ?
Irgoff Posté(e) le 22 octobre 2004 Posté(e) le 22 octobre 2004 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.
theocrite Posté(e) le 22 octobre 2004 Posté(e) le 22 octobre 2004 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++ }
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.