有没有人帮我看一下为什么会输出错误
[问题描述]有3个学生,每个学生有2门课成绩,定义结构体类型,编程:从键盘输入数据(包括学号、姓名和2门课成绩) , 计算出每个学生的总分,将原有数据和计算出的总分存放在磁盘文件student中。[输入弑]依次输入学生号、姓名、2门课成绩,之间用空格隔开(学生号、姓名均不超过20字节),成绩为float型。
[输出形式]每行输出一位学生信息,信息包括学生号、姓名、2门课成绩、总纷,之间用空格隔开。
[样例输入] .
001张三80.590 .
002李四65 90.5
003王五100 50
[样例输出]无
#include<stdio.h>
#include<stdlib.h>
#define N 3
struct student
{ char no[20];
char name[20];
float mark[2];
float allMark;
};
struct student st[N];
int main(void)
{
FILE* fp;
int i, k;
if ((fp = fopen("stud", "wb")) == NULL)
{
printf("Cannot open this file.\n");
exit(0);
}
for (i = 0; i < N; i++)
{
scanf("%s%s", st[i].no, st[i].name);
scanf("%f%f", &st[i].mark[0], &st[i].mark[1]);
st[i].allMark = st[i].mark[0] + st[i].mark[1];
fwrite(&st[i], sizeof(struct student), 1, fp);
}
fclose(fp);
if ((fp = fopen("stud", "rb")) == NULL)
{
printf("Cannot open this file.\n");
exit(0);
}
for (i = 0; i < N; i++)
fread(&st[i], sizeof(struct student), 1, fp);
for (i = 0; i < N; i++)
{
printf("%s %s", st[i].no, st[i].name);
for (k = 0; k < 2; k++)
printf("%6.1f", st[i].mark[k]);
printf("%10.1f\n", st[i].allMark);
}
fclose(fp);
return 0;
}

提问能不能把错误信息也贴一下
什么错误呀?
能把报错的页面截屏吗?