首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教下面那个程序怎样才能使输入结束

2012-03-18 
请问下面那个程序怎样才能使输入结束?代码是:intmain(){vector Student_infostudentsStudent_inforecor

请问下面那个程序怎样才能使输入结束?
代码是: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

热点排行