c++ - 输入流对象cin丢弃不合类型字符的问题
仅有的幸福
仅有的幸福 2017-06-27 09:19:12
0
1
943

题目要求编写一个while循环语句,每次循环读入两个int并且将他们压入vector,当输入'|'后结束程序
现在的问题在于题目要求输入两个不一样类型的字符

#include  using namespace std; int main() { int num_1, num_2; char stop; while (cin >> stop) { if (stop == '|') { break; } else { cin >> num_1 >> num_2; cout << num_1 << " " << num_2 << endl; } } return 0; }

以上程序是我能想到的一个解决方案,这时可以利用|来结束循环,但是这里存在一个问题,输入流对象会抛弃读到的第一个数字(因为1不是char类型)

input: 123 56 output: 23 56

请问各位有没有其他的方解决方案,谢谢了~~~

仅有的幸福
仅有的幸福

全部回复 (1)
洪涛

搞定,存入vector就自己写了吧,问题帮你解决了。

#include  using namespace std; int main(int argc, const char * argv[]) { int num_1, num_2; char stop; while (cin >> stop) { if (stop == '|') { break; } else { num_1 = stop-'0'; cin >> num_2; cout << num_1 << " " << num_2 << endl; } } return 0; }
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!