Хорошо, у меня есть 3 функции, которые все представляют вопрос, на который мне нужно ответить. Мой первый вопрос работает с cin
и cout
и разбит на части. Проблема состоит в том, что после того, как одна часть заканчивается, другая часть автоматически берет оставшуюся часть ввода в первой части, а не запрашивает новый ввод.
Мои проблемы лежали в
//part B
char state[30];
cout << "Enter a sentence: " << endl;
cin.read(state, 15);
cout << "The sentence entered was:\n";
cout.write(state, cin.gcount());
cout << endl;
и
//part E
char charArray[12]; //creates an array of 12
cout << "Enter some characters: " << endl;
cin.getline(charArray, 12, 'y');
cout << "Your characters are: " << charArray << endl;
Где все, что я ввожу в часть b, используется в части e. Я пытался использовать clear, ignore и flush, но безрезультатно. Кроме того, исходный ввод используется и в других моих функциях.
Мой основной настроен так:
int main()
{
question1();
question2();
question3();
}
Как я могу ввести новый ввод для использования в каждой части и каждой функции?