将从键盘输入的10个学生的学号和成绩存入到文件student.dat中。再从文件中读取学生的信息,求出最高分、最低分和总分,并将最高分、最低分的学生姓名及成绩存入到文件cj.dat中.

原题题目:
将从键盘输入的10个学生的学号和成绩存入到文件student.dat中。再从文件中读取学生的信息,求出最高分、最低分和总分,并将最高分、最低分的学生姓名及成绩存入到文件cj.dat中。

我的代码:
#include “iostream”

using namespace std;

int main()

{

struct student

{
char name[20];

char num[20];

float score;

}
;
char f[20]=“F:\student1.txt”;
struct student s[10];

FILE *fp;

if((fp=fopen(f,“w+”))==NULL)

{

cout<<“can’t open file/n”;

exit(1);

}
int i;
for(i=0;i<10;i++)

{

cin>>s[i].name>>s[i].num>>s[i].score

;fwrite(&s[i],sizeof(student),1,fp);

}

fclose(fp);

int imax=0,j,imin=0;

for(j=0;j<10;j++)

{

if(s[j].score>s[imax].score)

imax=j;

if(s[j].score

imin=j;

}

FILE *fp1;
char k[20]=“F:\cj1.txt”;
if((fp1=fopen(k,“a+”))==NULL)

{

cout<<“can’t open file/n”;

exit(1);

}

fwrite(&s[imax],sizeof(student),1,fp1);
fwrite(&s[imin],sizeof(student),1,fp1);
fclose(fp1);

system (“pause”);

return 0;

}
注:本题debug过程没有结束,所以一定存在错误,恳请批评指正.

你可能感兴趣的:(C++基础)