#include "stdlib.h"
#include "iostream.h"
#include "stdio.h"
#define N 10
struct student
{
char code[12];
int score;
}s[N],g[N];
void main()
{
FILE *fp,*fp2;
int i,max(0),min(0),add(0);
for(i=0;i<N;i++)
{
cout<<"输入学号:";
cin>>s[i].code;
cout<<"输入成绩:";
cin>>s[i].score;
}
if((fp=fopen("student.dat","wb"))==NULL)
{
cout<<"can't open file.\n";
exit(1);
}
fwrite(s,sizeof(s),1,fp);
fclose(fp);
if((fp=fopen("student.dat","rb"))==NULL)
{
cout<<"can't open file.\n";
exit(1);
}
if((fp2=fopen("cj.dat","wb"))==NULL)
{
cout<<"can't open file.\n";
exit(1);
}
for(i=0;i<N;i++)
{
fread(&g[i],sizeof(student),1,fp);
add+=g[i].score;
cout<<g[i].code<<'\t'<<g[i].score<<'\t'<<'\n';
}
for(i=1;i<N;i++)
{if(g[max].score<g[i].score) max=i;
if(g[min].score>g[i].score) min=i;}
if((fp2=fopen("cj.dat","wb"))==NULL)
{
cout<<"can't open file.\n";
exit(1);
}
fwrite(&g[max],sizeof(s),1,fp2);
fwrite(&g[min],sizeof(s),1,fp2);
cout<<"最高分学生学号:"<<g[max].code<<"分数"<<g[max].score<<endl
<<"最低分学生学号:"<<g[min].code<<"分数"<<g[min].score<<endl
<<"所有学生成绩总和:"<<add<<endl;
fclose(fp);
fclose(fp2);
}
温馨提示:内容为网友见解,仅供参考