标题:萌新新学文件,求教大神:编一个程序,实现以下内容
只看楼主
天灵灵
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2017-11-2
结帖率:100%
已结贴  问题点数:15 回复次数:2 
萌新新学文件,求教大神:编一个程序,实现以下内容
一条学生记录包括学号、姓名和成绩等信息,按照以下要求编写程序。
1、格式化输入多个学生记录。
2、利用fwrite将学生信息按二进制方式写到文件student.dat中。
3、利用fread从文件中读出所有学生成绩并求最大值和平均值。
4、将文件中的成绩排序,并将排序好的成绩单写入文本文件score.txt中。
下面是我自己编的,一直运行不了是为什么?
#include<stdio.h>
#include<stdlib.h>
#define N 3
int main()
{struct student
{int num;
char name[20];
float score;
};
    FILE *fp;
struct student stu[N];
int i,j;
float t,s,ave,n;
if((fp=fopen("file_student.dat","wb"))==NULL)
{printf("can not open the file\n");
exit(0);
}
printf("num\tname\tscore\t\n");
for(i=0;i<N;i++)
{scanf("%d\t%s\t%f",stu[i].num,&stu[i].name,&stu[i].score);
fwrite(&stu[i],sizeof(struct student),1,fp);
}
fclose(fp);
if((fp=fopen("file_A1.txt","rb"))==NULL)
{printf("can not open the file\n");
exit(0);
}
printf("the score info:\n");
for(i=0;i<N;i++)
fread(&stu[i],sizeof(struct student),1,fp);
for(i=0;i<N;i++)
printf("num\t%d\tname\t%s\tscore\t%f\n",stu[i].num,stu[i].name,stu[i].score);
for(i=0;i<N;i++)
{if(stu[i].score>stu[i+1].score)
t=stu[i].score;
else
t=stu[i+1].score;
}
for(i=0;i<N;i++)
s+=stu[i].score;
ave=s/N;
printf("max=%f,ave=%f",t,ave);
fclose(fp);
if((fp=fopen("file_score.txt","w"))==NULL)
{printf("can not open the file\n");
exit(0);
}
printf("num\tname\tscore\t\n");
for(i=0;i<N;i++)
{scanf("%d\t%s\t%f",stu[i].num,&stu[i].name,&stu[i].score);
}
for(i=1;i<N;i++)
for(j=0;j<N-i;j++)
if(stu[j].score<stu[j+1].score)
{n=stu[j].score;
stu[j].score=stu[j+1].score;
stu[j+1].score=n;
}
for(i=0;i<N;i++)
printf("%d\t%s\t%f",stu[i].num,stu[i].name,stu[i].score);
printf("\n");
fclose(fp);
return 0;
}
搜索更多相关主题的帖子: stu score num printf for 
2017-12-31 18:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:15 
刚复的贴也与学生成绩有关,参考:https://bbs.bccn.net/thread-483856-1-1.html
论坛搜索“学生成绩”应该有好多可参考的。
2017-12-31 20:03
天灵灵
Rank: 1
等 级:新手上路
帖 子:7
专家分:8
注 册:2017-11-2
得分:0 
回复 2楼 吹水佬
谢谢
2018-01-01 17:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483862-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.939764 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved