编写一个程序,将存放学生各类信息的文件中的学生信息读出,从新组成一个存放全部学生的前3门成绩的文件

/*数组

  • 在某文件中将学生的各类信息都存放在一个以下的结构体中:
  • struct {
    char name[NAMESIZE];
    long number;
    short department;
    short scores[10];
    }student;
    编写一个程序,将存放学生各类信息的文件中的学生信息读出,从新组成一个存放全部学生的前3门成绩的文件
    /
    #include <stdio.h>

#define NAMESIZE 30ide

struct {
char name[NAMESIZE];
long number;
short department;
short scores[10];//保存学生成绩的数组
}student;//保存一个学生信息的结构code

short *pscores;//保存学生成绩的数组it

int main(int argc, char argv[])
{
FILE
fpstudents;//已经存在的学生信息文件
FILE *fpscores;//未存在的学生信息文件io

if(argc<2)
{
    printf("usage:%s sourcefile destfile\n",argv[0]);
    return 1;
}

if((fpstudents=fopen(argv[1],"r"))==NULL)//打开学生信息文件
{
    printf("Open sourcefile %s failed!",argv[1]);
    return 2;
}
if((fpscore=fopen(argv[2],"w"))==NULL)//建立学生成绩文件
{
    printf("Create destfile %s failed!",argv[2]);
    return 3;
}
while(fread(&student,sizeof(student),1,fpstudents)==1)//将成绩的前3项写入文件中
{
    pscores=student.scores;
    if(fwrite(&pscores,sizeof(short),3,fpscore)!=3)
        printf("Error in writing file.\n");
    return 4;
}
return 0;

}class

相关文章
相关标签/搜索