初学c++,想问当我有两个对象时,如何不同时对他们赋值,上一个复制结果不会影响下面

air0405 2018-01-09 05:51:53
vector<int> a,b;
cout << "请输入第一串数据a :";
int ia = 0;
while (cin >> ia) {
a.push_back(ia);
}
cout << "请输入第二数据b :";
int ib = 0;
while (cin >> ib)
b.push_back(ib);
如上面的代码,我给a赋值后,无法给b赋值。
...全文
1072 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
super_admi 2018-02-01
  • 打赏
  • 举报
回复
我是看到“两个对象”才进来的,结果很失望。
qiujianjian 2018-01-30
  • 打赏
  • 举报
回复
你基础不牢啊,我连pushback都没学到,也看出while死循环了。
TerryHHl 2018-01-12
  • 打赏
  • 举报
回复
加上这一句 cin.clear(); 在 这句前 cout << "请输入第二数据b :"; 你就可以用你的代码实现了. 输入完A的数据 按下 ctrl+z 就可以输入b的数据
赵4老师 2018-01-10
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
paschen 版主 2018-01-09
  • 打赏
  • 举报
回复
为何要放到while中,cin >> ia cin >> ib 就行,否则你不终止终入你赋值一直是在给ia赋值
  • 打赏
  • 举报
回复
问题和内容没啥关联,你这明显就是在第一个while死循环了。 你想创建的是两个链表,但是第一个循环导致你不断的向a链表中添加内容,无法退出,程序无法向后运行。 改一下,就是这样。
vector<int> a,b;
cout << "请输入第一串数据a :";
int ia = 0;
while (cin >> ia) {
if (ia == 0) break;
a.push_back(ia);
}
cout << "请输入第二数据b :";
int ib = 0;
while (cin >> ib) {
if (ib == 0) break;
b.push_back(ib);
}

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧