【发布时间】:2015-06-04 01:02:28
【问题描述】:
下面是我为大学课程编写的简单程序。我知道它并没有真正做任何事情,但这只是一门课程的作业。
我想不通的部分是,为什么外循环不起作用?
用户需要按“1”继续,程序退出任何其他键。
但是,如果用户按“1”并退出,它仍然不会继续。
我尝试在 cin >> 重复之前添加一个 cin.clear() ,但这不起作用。
我也尝试过使用 cin.ignore(),但这似乎也没有帮助。
有什么想法吗?
谢谢
int main()
{
int repeat = '1';
stack<char> cstr;
char c;
while (repeat == '1')
{
cout << "Enter in a name: ";
while (cin.get(c) && c != '\n')
{
cstr.push(c);
}
cout << "\n Enter another name? 1 = Continue, any other key to exit the program";
cin >> repeat;
repeat = getchar();
}
}
【问题讨论】:
-
为什么要将字符串分配给整数重复?
-
@reggie 这不是字符串,而是字符。
-
在
cin >> repeat;之后,您希望在repeat中出现什么? 那么在repeat = getchar()之后会是什么? -
标签: c++ c++11 visual-c++