Enter the student's student ID, name, and results of the three subjects to calculate the average score and save it to the specified file

#include <stdio.h>
#include <stdlib.h>
#define leng sizeof(struct Student)


struct Student{
	int snum;
	char sname[20];
	float s1,s2,s3;
	float aver;
}stu[5];

void main()
{
	FILE *tp;
	int i;
	
	if((tp = fopen("stud.txt","wb"))==NULL)
	{
		printf("open error");
		exit(0);
	}
	
	printf("输入学生信息(学号,姓名,三科成绩)\n");
	for(i = 0;i<5;i++)
	{
	  printf("学生%d:",i+1);
	  scanf("%d",&stu[i].snum);
	  scanf("%s",&stu[i].sname);
	  scanf("%f%f%f",&stu[i].s1,&stu[i].s2,&stu[i].s3);
	  stu[i].aver = (stu[i].s1+stu[i].s2+stu[i].s3)/3;
	}
	for(i=0;i<5;i++)
	{
		fwrite(&stu[i],leng,1,tp);
	}
	printf("succeed!");
	fclose(tp);
	if((tp = fopen("stud.txt","rb"))==NULL)
	{
		printf("open error");
		exit(0);
	}
	for(i=0;i<5;i++)
	{
		fread(&stu[i],leng,1,tp);
		printf("学生%d:%d,%s,%f %f %f,平均%f分\n",i+1,stu[i].snum,stu[i].sname,stu[i].s1,stu[i].s2,stu[i].s3,stu[i].aver);
	}
	fclose(tp);
}
Published 10 original articles · Likes0 · Visits1

Guess you like

Origin blog.csdn.net/qq_38272075/article/details/105528299