【C语言】fread,fwrite文件读写结构体数组,学生成绩录入系统

调试编译器:  DevC++

数据: 5组学生的成绩

功能: 1.先通过键盘输入学生成绩

         2.将成绩写入到 文本文件(score.txt)中

         3.从score.txt中,以学生为单位依次读取

         4.输出学生的姓名,和其三科的平均分

#include<stdio.h>
struct node
{	
	int num;        //序号
	char name[10];  //姓名
	int chi;        //语文
	int math;       //数学
	int eng;        //英语
}stu[5];
int main()
{
	FILE *fp;
	int i;
	for(i=0;i<5;i++)		  //输入数据 
	scanf("%d%s%d%d%d",
	&stu[i].num,stu[i].name,&stu[i].chi,&stu[i].math,&stu[i].eng); 
	fp=fopen("score.txt","w");//写入数据 
	for(i=0;i<5;i++)
	fwrite(&stu[i],sizeof(struct node),1,fp);
	fp=fopen("score.txt","r");//读取数据 
	for(i=0;i<5;i++)
	fread(&stu[i],sizeof(struct node),1,fp);
	for(i=0;i<5;i++)		  //输出成绩 
	printf("%s %d\n",stu[i].name,(stu[i].chi+stu[i].math+stu[i].eng)/3);

	fclose(fp);
}

猜你喜欢

转载自blog.csdn.net/weixin_42703673/article/details/112306254