请问下面那个程序怎样才能使输入结束?
代码是:int main()
{
vector <Student_info> students;
Student_info record;
string::size_type maxlen=0;
while(read(cin,record)){
maxlen=max(maxlen,record.name.size());
students.push_back(record);
}
Student_info的定义为:
struct Student_info{
string name;
double midterm,final;
vector <double> homework;
};
read函数为:
istream &read(istream & is,Student_info & s)
{
is> > s.name> > s.midterm > > s.final;
read_hw(is,s.homework);
return is;
}
istream &read_hw(istream &in,vector <double> & hw)
{
if(in){
hw.clear();//清除原有内容
double x;
while(in> > x)
hw.push_back(x);
in.clear();//清除流以使输入动作对下一个学生有效
}
return in;
}
不知道怎样才能使输入结束啊,那位大侠指教下,谢谢!
[解决办法]
回车-ctrl_z/F6-回车,也许有的系统还要再一个ctrl_z/F6-回车
[解决办法]
自己定义一个,输入某个特殊字符的时候结束,如 #
[解决办法]
ctrl+z
linux为
ctrl+d
[解决办法]
ctrl+c
[解决办法]
修改:
bool read(istream & is,Student_info & s)//------------
{
if(is.eof()||is.error())return false;//------------
is> > s.name> > s.midterm > > s.final;
read_hw(is,s.homework);
return true; //------------------------
}
[解决办法]
ctrl+z之后Enter