outfile1.close();
}//增加学生信息
voidmodify2(inti,intj){
intcap1;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();
studentc;
ifstreaminfile1("student.dat");
ofstreamoutfile("temp.dat");
inta;
for(a=1;a
infile1.read((char*)&c,sizeof(c));
outfile.write((char*)&c,sizeof(c));
}
outfile.close();
infile1.close();
ifstreaminfile2("student.dat");
infile2.seekg(sizeof(c)*(i-1));
infile2.read((char*)&c,sizeof(c));
charname1[20];
cout<<"输入姓名:
";
cin>>name1;
c.setnumber(c.getnumber());
c.setgrade(c.getgrade());
c.setname(name1);
c.setsex(c.getsex());
ofstreamoutfile1("temp.dat",ios:
:
app);
outfile1.write((char*)&c,sizeof(c));
outfile1.close();
ifstreaminfile3("student.dat");
infile3.seekg(sizeof(c)*i);
ofstreamoutfile2("temp.dat",ios:
:
app);
for(a=i+1;a<=cap1;a++){
infile3.read((char*)&c,sizeof(c));
outfile2.write((char*)&c,sizeof(c));
}
outfile2.close();
infile3.close();
ifstreaminfile4("temp.dat");
ofstreamoutfile3("student.dat");
for(a=1;a<=cap1;a++){
infile4.read((char*)&c,sizeof(c));
outfile3.write((char*)&c,sizeof(c));
}
remove("temp.dat");
infile4.close();
outfile3.close();
}
voidmodify1(inti,intj){
intcap1;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();
studentc;
ifstreaminfile1("student.dat");
ofstreamoutfile("temp.dat");
inta;
for(a=1;a
infile1.read((char*)&c,sizeof(c));
outfile.write((char*)&c,sizeof(c));
}
outfile.close();
infile1.close();
ifstreaminfile2("student.dat");
infile2.seekg(sizeof(c)*(i-1));
infile2.read((char*)&c,sizeof(c));
intnumber1;
cout<<"输入学号:
";
cin>>number1;
c.setnumber(number1);
c.setgrade(c.getgrade());
c.setname(c.getname());
c.setsex(c.getsex());
ofstreamoutfile1("temp.dat",ios:
:
app);
outfile1.write((char*)&c,sizeof(c));
outfile1.close();
ifstreaminfile3("student.dat");
infile3.seekg(sizeof(c)*i);
ofstreamoutfile2("temp.dat",ios:
:
app);
for(a=i+1;a<=cap1;a++){
infile3.read((char*)&c,sizeof(c));
outfile2.write((char*)&c,sizeof(c));
}
outfile2.close();
infile3.close();
ifstreaminfile4("temp.dat");
ofstreamoutfile3("student.dat");
for(a=1;a<=cap1;a++){
infile4.read((char*)&c,sizeof(c));
outfile3.write((char*)&c,sizeof(c));
}
remove("temp.dat");
infile4.close();
outfile3.close();
}
voidmodify3(inti,intj){
intcap1;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();
studentc;
ifstreaminfile1("student.dat");
ofstreamoutfile("temp.dat");
inta;
for(a=1;a
infile1.read((char*)&c,sizeof(c));
outfile.write((char*)&c,sizeof(c));
}
outfile.close();
infile1.close();
ifstreaminfile2("student.dat");
infile2.seekg(sizeof(c)*(i-1));
infile2.read((char*)&c,sizeof(c));
charsex1[5];
cout<<"输入性别:
";
cin>>sex1;
c.setnumber(c.getnumber());
c.setgrade(c.getgrade());
c.setname(c.getname());
c.setsex(sex1);
ofstreamoutfile1("temp.dat",ios:
:
app);
outfile1.write((char*)&c,sizeof(c));
outfile1.close();
ifstreaminfile3("student.dat");
infile3.seekg(sizeof(c)*i);
ofstreamoutfile2("temp.dat",ios:
:
app);
for(a=i+1;a<=cap1;a++){
infile3.read((char*)&c,sizeof(c));
outfile2.write((char*)&c,sizeof(c));
}
outfile2.close();
infile3.close();
ifstreaminfile4("temp.dat");
ofstreamoutfile3("student.dat");
for(a=1;a<=cap1;a++){
infile4.read((char*)&c,sizeof(c));
outfile3.write((char*)&c,sizeof(c));
}
remove("temp.dat");
infile4.close();
outfile3.close();
}
voidmodify4(inti,intj){
intcap1;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();
studentc;
ifstreaminfile1("student.dat");
ofstreamoutfile("temp.dat");
inta;
for(a=1;a
infile1.read((char*)&c,sizeof(c));
outfile.write((char*)&c,sizeof(c));
}
outfile.close();
infile1.close();
ifstreaminfile2("student.dat");
infile2.seekg(sizeof(c)*(i-1));
infile2.read((char*)&c,sizeof(c));
doublegrade1;
cout<<"输入成绩:
";
cin>>grade1;
c.setnumber(c.getnumber());
c.setgrade(grade1);
c.setname(c.getname());
c.setsex(c.getsex());
ofstreamoutfile1("temp.dat",ios:
:
app);
outfile1.write((char*)&c,sizeof(c));
outfile1.close();
ifstreaminfile3("student.dat");
infile3.seekg(sizeof(c)*i);
ofstreamoutfile2("temp.dat",ios:
:
app);
for(a=i+1;a<=cap1;a++){
infile3.read((char*)&c,sizeof(c));
outfile2.write((char*)&c,sizeof(c));
}
outfile2.close();
infile3.close();
ifstreaminfile4("temp.dat");
ofstreamoutfile3("student.dat");
for(a=1;a<=cap1;a++){
infile4.read((char*)&c,sizeof(c));
outfile3.write((char*)&c,sizeof(c));
}
remove("temp.dat");
infile4.close();
outfile3.close();
}
voidmodify(inti){
intcap1;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();
studentc;
ifstreaminfile1("student.dat");
if(i<=cap1){
intj=1;
while(j!
=0){
cout<<"__________________________________"<cout<<"|****请输入你想执行的操作****|"<cout<<"|****1.修改学生学号****|"<cout<<"|****2.修改学生姓名****|"<cout<<"|****3.修改学生性别****|"<cout<<"|****4.修改学生成绩****|"<cout<<"|****5.显示该学生信息***|"<cout<<"|****0.退出操作****|"<cout<<"—————————————————"<cin>>j;
switch(j){
case1:
this->modify1(i,j);
break;
case2:
this->modify2(i,j);
break;
case3:
this->modify3(i,j);
break;
case4:
this->modify4(i,j);
break;
case5:
infile1.seekg(sizeof(c)*(i-1));
infile1.read((char*)&c,sizeof(c));
cout<<"第"<
cout<<"姓名:
"<cout<<"性别:
"<cout<<"成绩:
"<cout<<"学号:
"<break;
case0:
break;
}
}
}
else
cout<<"你修改的位置有误"<}//修改学生信息
voidchange(inti,intj){
intcap1,t;
if(i>j){
t=i;
i=j;
j=t;
}
studentb;
ifstreaminfile;
infile.open("long.txt");
infile>>cap1;
infile.close();