下面是我在visual c++ 6.0写的小程序。
想问下为什么输入的数据会存不了?
//班级成绩查询(C期末作业)
//1、构建一个班级成绩表。
//2、表中至少20个学生,每个学生有5门课的成绩。
//3、算出每个学生的平均分。
//4、根据平均分用动态链表排序。
#include
#include
#define N 3
struct Student
{
unsigned long int sno;
char name[20];
int score[5];
int aver;
struct Student *next_sno;
struct Student *next_aver;
}stu[N];
void save()
{
FILE *p;
int i;
if( (p = fopen( "stu.dat","wb" ) ) == NULL )
{
printf("无法打开此文件\n");
exit(0);
}
for( i=0;i<N;i++ )
{
if( fwrite(&stu[i],sizeof(struct Student),1,p)!=1 )
printf("file write error\n");
fclose(p);
}
}
int main()
{
int i;
printf("请输入同学的数据。\n");
for( i=0;i<N;i++ )
{
printf("请输入第%2d位同学的学号:",i+1);
scanf("%ld",&stu[i].sno);
printf(" 姓名:");
scanf("%s",stu[i].name);
printf(" 5个课程成绩(\",\"隔开):");
scanf("%d,%d,%d,%d,%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2],&stu[i].score[3],&stu[i].score[4]);
}
save();
return 0;
}