楼主啊。你标错了,未被执行的不是那一句。你这程序问题出在上面,那个while(cin>>x)竟然没有跳出循环。不过我不怎么会C++哈,特别是你用的模版我是一窍不通。但我也大概明白你程序的意思。
你看一下我给你改的
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
void main()
{
double x;
vector<double> data;
cout<<"请输入数据!"<<endl;
while (cin>>x)
{
data.push_back(x);
if (x==0)
{
cout<<"输入完毕!"<<endl;
break;
};
};
int m=data.size(),n=0;
if (m==0)
{
throw domain_error("数据不能为空!");
}
else
{
double number;
cout<<"请输入你要找的数!"<<endl;
cin>>number; //此处未被执行!!
for (int i=0;i<m ;i++)
{
if (number==data[i])
{
n++;
}
}
if (n==0)
{
cout<<"没有你要找的数"<<endl;
}
else
{
cout<<number<<"有"<<n<<"个"<<endl;
};
};
}
这样是可以了吧。改动了一点,跳出while的条件。
[ 本帖最后由 mjsxjy 于 2010-8-30 21:28 编辑 ]
你看一下我给你改的
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
void main()
{
double x;
vector<double> data;
cout<<"请输入数据!"<<endl;
while (cin>>x)
{
data.push_back(x);
if (x==0)
{
cout<<"输入完毕!"<<endl;
break;
};
};
int m=data.size(),n=0;
if (m==0)
{
throw domain_error("数据不能为空!");
}
else
{
double number;
cout<<"请输入你要找的数!"<<endl;
cin>>number; //此处未被执行!!
for (int i=0;i<m ;i++)
{
if (number==data[i])
{
n++;
}
}
if (n==0)
{
cout<<"没有你要找的数"<<endl;
}
else
{
cout<<number<<"有"<<n<<"个"<<endl;
};
};
}
这样是可以了吧。改动了一点,跳出while的条件。
[ 本帖最后由 mjsxjy 于 2010-8-30 21:28 编辑 ]