//建立若干个Stud类对象,并将它们存储到文件data.dat中。最后输出文件内容。P288
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
const int N=10;
class Stud{
int no;
char name[10];
int deg;
char cname[10];
public:
Stud(){}
void set(int n,char na[],int d,char cn[]){
no = n;
strcpy(name,na);
deg = d;
strcpy(cname,cn);
}
void disp(){
cout<<no<<"\t"<<name<<"\t"<<deg<<"\t"<<cname<<endl;
}
};
int main(){
int i,n,d;
char na[10],cn[10];
Stud obj[N],s;
fstream iofile;
iofile.open("data.dat",ios::in|ios::out);
for(i=0;i<N;i++){
cout<<"输入第"<<i+1<<"个学生数据:"<<endl;
cout<<" 学号:";cin>>n;
cout<<" 姓名:";cin>>na;
cout<<" 成绩:";cin>>d;
cout<<" 班号:";cin>>cn;
obj[i].set(n,na,d,cn);
}
for(i=0;i<N;i++){
iofile.write((char *)&obj[i], sizeof(obj[i]));
}
iofile.seekp(0,ios::beg);
cout<<"学号\t姓名\t成绩\t班号"<<endl;
for(i=0;i<N;i++){
iofile.read((char *)&s, sizeof(s));
s.disp();
}
iofile.close();
return 0;
}