Я пытаюсь получить несколько вводимых пользователем параметров из консоли две струны, две четверки и дубль. Соответствующий код, который я пытаюсь использовать, следующий:
#include <string>
#include <iostream>
using namespace std;
// ...
string inputString;
unsigned int inputUInt;
double inputDouble;
// ...
cout << "Title: ";
getline(cin, inputString);
tempDVD.setTitle(inputString);
cout << "Category: ";
getline(cin, inputString);
tempDVD.setCategory(inputString);
cout << "Duration (minutes): ";
cin >> inputUInt;
tempDVD.setDuration(inputUInt);
cout << "Year: ";
cin >> inputUInt;
tempDVD.setYear(inputUInt);
cout << "Price: $";
cin >> inputDouble;
tempDVD.setPrice(inputDouble);
Однако при запуске программы вместо ожидания ввода первой inputString код не останавливается до второго вызова getline (). Таким образом, вывод консоли выглядит так:
Заголовок: Категория:
с курсором, появляющимся после категории. Если я введу сейчас, программа перейдет к вводу года, не позволяя мне ввести более одной строки. Что здесь происходит?