>>571
意味がわからんので適当に超解釈を入れて書いた。
もし、超解釈が希望と違ってもめんどいからなおさん。

#include<vector>
#include<iostream>
#include<algorithm>
#include<iterator>
using namespace std;
struct Data{
    string name,addr,tel;
    int age;
};
istream&operator>>(istream&cin,Data&d){return cin>>d.name>>d.addr>>d.tel>>d.age;}
ostream&operator<<(ostream&cout,const Data&d){return cout<<d.name<<" "<<d.addr<<" "<<d.tel<<" "<<d.age;}
int main(){
    vector<Data>a;
    copy(istream_iterator<Data>(cin),istream_iterator<Data>(),back_inserter(a));
    copy(a.begin(),a.end(),ostream_iterator<Data>(cout,"\n"));
}