Я новичок в коде и на этом сайте, поэтому, пожалуйста, простите меня, если я пропущу что-то очевидное. Я пытаюсь написать короткую маленькую игру на C++, и мне нужно взять пользовательский ввод. Я хочу взять более одного слова, поэтому команда cin>>
, которую моя книга рекомендует, прямо сейчас. Лучшее, что я нашел в ходе исследования, это команда getline(cin,var);
. Я могу заставить это легко работать в малогабаритных тестах, но когда я реализую его в своей 500-линейной игре, он никогда не работает. Он пропустит этот бит кода, не дожидаясь ввода imput пользователя, и установите переменную в пустое пространство. Я не буду включать весь код, очевидно, но вот бит, о котором идет речь, и мои заголовки.Что-то мешает функции getline?
#include <cstdlib>
#include <windows.h>
#include <iostream>
#include <string>
using namespace std;
string poemend;
int heading;
int poem()
{
system("CLS");
cout<<"This poem is almost done, you just can't seem to find the perfect last word.\n";
cout<<"You can see several of your discarded endings. Most recently, 'pain'.\n\n";
cout<<"How about another go?\n>";
getline(cin,poemend);
system("CLS");
cout<<"The Prophet's old parrot spoke much of all things,\n";
cout<<"but when asked about love, squawked only ";
cout<<poemend<<" .\n\n";
Sleep(6000);
cout<<"You decide it could still use some work";
Sleep(3000);
heading = 6;
}
Опять же, это работает отлично, если я беру это в новую пустую страницу, так что я на самом деле не уверен, что стоит на пути. Я буду рад ответить на любые вопросы о коде и опубликовать более полезные фрагменты, если это необходимо. Большое вам спасибо за то, что нашли время, чтобы прочитать это!
Pls использовать немного отступы –
код, который вы не показывает нам это проблема. – 0x499602D2
Код, который вы показываете нам здесь, не представляет проблемы. Можете ли вы разместить больше кода, связанного с потоком? – 0x499602D2