【求助】初级c++程序
代码如下
/*
* 4.8(vector)
* 比较两个vector<int>的大小;
*/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int ival;
vector<int> ivec1;
vector<int> ivec2;
// 将数据读入vector
cout << "ivec1" <<endl;
//可能出问题的地方。。。
while (cin >> ival)
ivec1.push_back(ival);
vector<int>::size_type size1 = ivec1.size();
cout << "ivec2" <<endl;
while (cin >> ival)
ivec2.push_back(ival);
vector<int>::size_type size2 = ivec2.size();
//比较
if ( size1 != size2) {
cout << "Not equal!" << endl;
getchar();
getchar();
return -1;
}
if (size1 == 0) {
cout << "Equal! " << endl;
getchar();
getchar();
return 0;
}
for (vector<int>::iterator ite1 = ivec1.begin(),ite2 = ivec2.begin(); ite1 != ivec1.end(); ++ite1,++ite2)
if (*ite1 != *ite2) {
cout << "Not equal! " << endl;
getchar();
getchar();
return 0;
}
cout << "Equal! " << endl;
getchar();
getchar();
return 0;
}
输入ivec1之后没法输入ivec2就直接结束了。。。
求解决方法,能说明原因当然更好了。。。
谢谢。。。
[解决办法]
- C/C++ code
while (cin >> ival)ivec1.push_back(ival);cin.clear(); //ctrl+z跳出会改变cin的状态,clear清除错误状态vector<int>::size_type size1 = ivec1.size();cout << "ivec2" <<endl;while (cin >> ival)ivec2.push_back(ival);cin.clear();
