一个班级有若干学生,每个学生的数据包括学号、姓名、3门课成绩。从键盘输入学生信息,存入文件student中。再从文件中读出学生信息并打印(要求使用fwrite和fread函数书写)
到底哪有问题啊
#include<stdio.h>
#include<stdlib.h>
#define N 4
struct student_type
{
int no;
char name;
float score;
};
void save_stud()
{
int i; float s;
FILE *fp;
struct student_type stud[N];
system("cls");
if ((fp=fopen("d:\cjt\tc\lianxiti\student.bin","wb"))==NULL)
{
printf("文件打开失败\n");
exit(1);
}
for(i=0;i<N;i++)
{
printf("请输入%d 学号,姓名,成绩:",i+1);
scanf("%8d %2c %5.2f",&stud[i].no,&stud[i].name,&s);
stud[i].score=s;
fwrite(&stud[i],sizeof(struct student_type),1,fp);
}
fclose(fp);
}
void load_stud()
{
int i;
FILE *fp;
struct student_type stud[N];
system("cls");
if((fp=fopen("d:\cjt\tc\lianxiti\student.bin","rb"))==NULL)
{
printf("文件打开失败\n");
exit(1);
}
for(i=0;i<N;i++)
{
fread(&stud[i],sizeof(struct student_type),1,fp);
printf("%8d %2c %5.2f\n",stud[i].no,stud[i].name,stud[i].score);
}
fclose(fp);
}
void main()
{
save_stud();
load_stud();
system("pause");
}