Aller au contenu

TP de C


ganjatealq

Messages recommandés

Posté(e)
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)

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. :gne:

Posté(e)
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.  :pleure:

scanf("%[a-zA-Z]", texte)

?

Posté(e)

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)
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.

×
×
  • Créer...