【发布时间】:2018-04-26 22:34:55
【问题描述】:
我对编程很陌生,在 while 循环中使用 getline 时遇到问题。当我计算课程变量时,第一个字母丢失了。摆脱 cin.ignore 会将其发送到无限循环中。
这是我目前所拥有的:
#include <iostream>
#include <string>
using namespace std;
int main (){
string answer = "Yes";
string course;
while (answer == "Yes"){
cin.ignore();
cout<< "Enter a course name: ";
getline (cin, course);
cout<< course << endl;
cout<< "Continue ('Yes' or 'No')? ";
cin>> answer;
cout<< answer << endl;
}
return 0;
}
【问题讨论】:
-
对我来说很好 - ideone.com/Qk9ZCx 没有
cin.ignore() -
也许你在同一行输入
course和No? -
@AbhishekKeshri 如果您在
cin之后再次尝试使用getline,则它不起作用 工作getline:ideone -
啊,我明白了!!!!!
标签: c++