用结构体将信息写入文件 求大家帮我修改一下
题目 输入一组学生的姓名和三科成绩,将信息储存在磁盘文件f1.dat中 当输入学号为0是,输入结束#include"stdio.h"
#include"stdlib.h"
#define N 3
struct stu
{
char nam[10];
int xh;
int sco[3];
};
void main()
{
int i,k,j,temp;
FILE *fp;
struct stu s[N];
for(i=0;i<N;i++)
{
printf("Input name:\n");
gets(s[i].nam);
printf("Input xh:\n");fflush(stdin);
scanf("%d",&s[i].xh);
for(k=0;k<3;k++)
{
printf("Input a score:\n");
scanf("%d",&s[i].sco[k]);
}
}
fopen("D:\\c\\f1.dat","wb");
if(fp==NULL){printf("Faild");exit(0);}
i=0;
temp=s[i].xh;
while(temp!=0)
{
fwrite(&s[i].nam,sizeof(char),1,fp);
fwrite(&s[i].xh,sizeof(int),1,fp);
for(j=0;j<3;j++)
fwrite(&s[i].sco[j],sizeof(int),1,fp);
i++;
temp=s[i].xh;
}
fclose(fp);
}
[ 本帖最后由 Ljldym 于 2015-5-9 16:57 编辑 ]