/*#include<fstream>
#include<iostream>
using namespace std;
int main()
{
int i,j;
fstream f;
f.open("d:\\DATA.dat",ios::out|ios::binary);
for(i=1;i<=10;i++)
{
f.write((char*)&i,sizeof(int));
}
f.close();
f.open("d:\\DATA.dat",ios::in|ios::out|ios::binary);
for(i=1;i<10;i++)
{
f.seekg(long(sizeof(int)*i));
f.read((char*)&j,sizeof(int));
if (j%2)
{
j+=10;
f.seekp(-long(sizeof(int)),ios::cur);
f.write((char*)&j,sizeof(int));
}
}
f.seekg(long(sizeof(int)*10));
for(i=91;i<=95;i++)
{
f.write((char*)&i,sizeof(int));
}
f.seekg(0,ios::beg);
for(i=0;i<15;i++)
{
f.read((char*)&j,sizeof(int));
cout<<j<<" ";
}
cout<<endl;
f.close();
}*/
/*
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
char fileName[30],name[30];
int number,score;
ofstream outstuf;
cout<<"please input the name of students file:\n";
cin>>fileName;
outstuf.open(fileName,ios::out);
if(!outstuf)
{
cerr<<"File could not be open"<<endl;
abort();
}
outstuf<<"This is a file of students\n";
cout<<"Input the number,name,and score\n?";
while(cin>>number>>name>>score)
{
outstuf<<number<<' '<<name<<' '<<score<<'\n';
cout<<"?";
}
outstuf.close();
}*/
/*
#include<iostream>
#include<fstream>
using namespace std;
struct student
{
int number;
char name[30];
int score;
};
const student mark={ 0,"noName\0",0 };
int main()
{
char s[80];
student stu;
ifstream instuf("d:\\students.txt",ios::in);
ofstream outstuf("d:\\students.dat",ios::out|ios::binary);
//写进二进制数据文件
if(!instuf|!outstuf)
{
cerr<<"File could not be open."<<endl;
abort();
}
instuf.getline(s,80);
while(instuf>>stu.number>>stu.name>>stu.score)
{
cout<<stu.number<<'\t'<<stu.name<<'\t'<<stu.score<<'\n';
outstuf.write((char*)&stu,sizeof(student));
}
outstuf.write((char*)&mark,sizeof(student));
instuf.close();
outstuf.close();
}*/
#include<iostream>
#include<fstream>
using namespace std;
struct student
{
int number;
char name[30];
int score;
};
int main()
{
student stu;
int n=0,max,min,total=0;
double ave;
ifstream instuf("d:\\students.dat",ios::in);
if(!instuf)
{
cerr<<"File could not be open."<<endl;
abort();
}
do
{
instuf.read((char*)&stu,sizeof(stu));
if(stu.number!=0)
{
cout<<stu.number<<'\t'<<stu.name<<'\t'<<stu.score<<'\n';
if(n==0)
{
max =min=stu.score;
}
else
{
if(stu.score > max) max =stu.score;
if(stu.score <min) min=stu.score;
}
total+=stu.score;
n++;
}
} while (instuf&&stu.number!=0);
cout<<"总人数:"<<n<<endl;
ave=double(total)/n;
cout<<"最高分:"<<max<<endl;
cout<<"最低分:"<<min<<endl;
cout<<"平均分:"<<ave<<endl;
instuf.close();
}
#include<iostream>
using namespace std;
int main()
{
int i,j;
fstream f;
f.open("d:\\DATA.dat",ios::out|ios::binary);
for(i=1;i<=10;i++)
{
f.write((char*)&i,sizeof(int));
}
f.close();
f.open("d:\\DATA.dat",ios::in|ios::out|ios::binary);
for(i=1;i<10;i++)
{
f.seekg(long(sizeof(int)*i));
f.read((char*)&j,sizeof(int));
if (j%2)
{
j+=10;
f.seekp(-long(sizeof(int)),ios::cur);
f.write((char*)&j,sizeof(int));
}
}
f.seekg(long(sizeof(int)*10));
for(i=91;i<=95;i++)
{
f.write((char*)&i,sizeof(int));
}
f.seekg(0,ios::beg);
for(i=0;i<15;i++)
{
f.read((char*)&j,sizeof(int));
cout<<j<<" ";
}
cout<<endl;
f.close();
}*/
/*
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
char fileName[30],name[30];
int number,score;
ofstream outstuf;
cout<<"please input the name of students file:\n";
cin>>fileName;
outstuf.open(fileName,ios::out);
if(!outstuf)
{
cerr<<"File could not be open"<<endl;
abort();
}
outstuf<<"This is a file of students\n";
cout<<"Input the number,name,and score\n?";
while(cin>>number>>name>>score)
{
outstuf<<number<<' '<<name<<' '<<score<<'\n';
cout<<"?";
}
outstuf.close();
}*/
/*
#include<iostream>
#include<fstream>
using namespace std;
struct student
{
int number;
char name[30];
int score;
};
const student mark={ 0,"noName\0",0 };
int main()
{
char s[80];
student stu;
ifstream instuf("d:\\students.txt",ios::in);
ofstream outstuf("d:\\students.dat",ios::out|ios::binary);
//写进二进制数据文件
if(!instuf|!outstuf)
{
cerr<<"File could not be open."<<endl;
abort();
}
instuf.getline(s,80);
while(instuf>>stu.number>>stu.name>>stu.score)
{
cout<<stu.number<<'\t'<<stu.name<<'\t'<<stu.score<<'\n';
outstuf.write((char*)&stu,sizeof(student));
}
outstuf.write((char*)&mark,sizeof(student));
instuf.close();
outstuf.close();
}*/
#include<iostream>
#include<fstream>
using namespace std;
struct student
{
int number;
char name[30];
int score;
};
int main()
{
student stu;
int n=0,max,min,total=0;
double ave;
ifstream instuf("d:\\students.dat",ios::in);
if(!instuf)
{
cerr<<"File could not be open."<<endl;
abort();
}
do
{
instuf.read((char*)&stu,sizeof(stu));
if(stu.number!=0)
{
cout<<stu.number<<'\t'<<stu.name<<'\t'<<stu.score<<'\n';
if(n==0)
{
max =min=stu.score;
}
else
{
if(stu.score > max) max =stu.score;
if(stu.score <min) min=stu.score;
}
total+=stu.score;
n++;
}
} while (instuf&&stu.number!=0);
cout<<"总人数:"<<n<<endl;
ave=double(total)/n;
cout<<"最高分:"<<max<<endl;
cout<<"最低分:"<<min<<endl;
cout<<"平均分:"<<ave<<endl;
instuf.close();
}