求助!学生成绩管理:结构体数组、文件写入
用结构体、文件写入做的学生成绩管理要求:
有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。
具体要求:
定义结构体类型(student_type),其中包括学号(num[11])、姓名(name[8])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。
在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。
定义保存文件函数save()和显示文件函数display()
需包含有如下:
1 建立结构体数据类型
struct student_type
{ char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];
2 建立主程序
main()
{ int i;
for(i=0;i
#include
struct student_type
{ char name[8];
int num,score[3];
char clas[20];
int ave;
}stud[4];
int main(void)
{
int i,j,k;
for(i=0;i<4;i++)
{
printf("请输入第%d个学生学号、姓名、班级、三门课成绩",i+1);
scanf("%d%s%s",&stud[i].num,stud[i].name,stud[i].clas);
for(j=0;j<3;j++)
{
scanf("%d",stud[i].score[j]);
stud[i].ave=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;
}
for(int j=0;j<STRLEN(STUD[I].NUM);J++)
{
putc(stud[i].num,fp);
}
for(int j=0;j<STRLEN(STUD[I].NAME);J++)
{
putc(stud[i].name,fp);
}
for(int j=0;j<STRLEN(STUD[I].CLAS);J++)
{
putc(stud[i].clas,fp);
}
for(int j=0;j<STRLEN(STUD[I].SCORE);J++)
{
putc(stud[i].score,fp);
}
}
fclose(fp);
return 0;
}