dans mon code j'utilise getline pour capturer une phrase mais quand le programme arrive à la ligne de getline j'ai l'impression qu'il ne s'arrête pas et execute tout de suite ce qui vient après.
Donc j'ai tenté de vider le string pour voir si ça peut changer quelque chose mais toujours le même résultat donc quand je tape "aj" on m'affiche "aj" et rien si je vide...
Avant tout chose, n'utilise pas system("cls") c'est non portable et inutile (tu connais beaucoup d'application en ligne de commande qui le font ?)
Quand tu utilises >> vers un std::string ça lit jusqu'au prochain blanc (et le retour à la ligne en fait parti) et donc il reste ça à lire. Cela signifie aussi que tu peux pas lire une chaîne avec des espaces. De manière général, l'utilisation direct de std::cin ou scanf et autre est plutôt fait pour lire une entrée proprement formatée, pas celle de l'utilisateur.
Pour faire simple, vu que tu souhaite lire une ligne jusqu'à la touche entrée, utilise getline à chaque demande puis analyse le résultat de celle ci. Donc remplace simplement ta ligne 38 par un getline.
git is great because Linus did it, mercurial is better because he didn't.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.