今天做老师布置的作业部分代碼如下:
问题是:当我选择1,也就是借书时然后我故意把kk字符串输入给这个本应输入整型的readerId,然后结果就是我的程序陷入了一个死循環,不再提示输入输入choice而且choice默认为1,于是进入了借书部分而readerId也还是kk,如此循环下去界面只是一直提示错误:“该读者不存在,
于是,很洎然想到了是输入缓冲区的问题于是在cin >> choice之前加了cin.clear();结果还是不行;
上网找了另外一个清空缓冲区的函数cin.sync();还是不行。
单步运行后发现cin是无法正常使用的。后来两个函数一起用完美解决!
至于原因,请看这里说的很详细了,直接看就懂了。。。