请大家帮忙看看程序问题在哪儿?
编写了一段代码,用结构体保存学生的姓名以及语数英三科成绩,再输出到磁盘文件。实际运行中,键盘输入完第一个学生姓名及成绩后,回车后即跳出,请各位帮忙看看问题在哪儿,多谢。
#include<stdio.h>
#include<process.h>
struct student
{
char name[30];
int chinese;
int math;
int english;
}stu[100];
void save(char *name,int n)
{
FILE *fp;
int i;
if((fp=fopen(name,"w+"))==NULL)
{
printf("不能建立文件。\n");
getchar();
exit(0);
}
for(i=0;i<n;i++)
{
fwrite(&stu[i],sizeof(struct student),1,fp);
}
fclose(fp);
}
main()
{
char filename[30];
int n,i;
printf("一共有几名学生?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("请输入第%d名学生的姓名、语文成绩、数学成绩、英语成绩:",i+1);
scanf("%s%d%d%d",&stu[i].name,&stu[i].chinese,&stu[i].math,stu[i].english);
}
printf("请输入文件名:\n");
scanf("%s",filename);
save(filename,n);
}