我希望用户输入一个字符串,双精度和长整数,但事情是在第一次之后,该字符串有点被忽略并留空并直接提示输入双精度。
这是我的代码:
#include <iostream>
#include <string>
using namespace std;
int main () {
string name;
double price;
long serial;
cout << "Enter the dvd's name: "; getline(cin, name);
cout << "Enter the dvd's price (in $): "; cin >> price;
cout << "Enter the dvd's serial number: "; cin >> serial;
cout << endl;
cout << "Enter the dvd's name: "; getline(cin, name);
cout << "Enter the dvd's price (in $): "; cin >> price;
cout << "Enter the dvd's serial number: "; cin >> serial;
return 0;
}
正如你第一次看到的那样,我第二次可以输入一个字符串,只是将我直接发送到双精度,即使我忽略了丢失的字符串,然后输入一个双精度然后长,它会将名称打印为空字符串。
我的代码有什么问题?