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