采用结构体类型数组来存储5名学生的学号、姓名、以及4门课的成绩, 输出各个学生4门课程的平均分,统计平均80分以上学生的人数,并将上述结果写入一个文件并保存
问别人问题要有礼貌,要说谢谢,要不然我会认为你在伸手要代码~
下面的代码基本完成了,不懂的函数名字自己可以百度百度~有需要的化礼貌的问我.我可以给你详细说明
typedef struct
{
char name[30];
char id[15];
int mathGrade;
int chineseGrande;
int englishGrande;
int PHYGrande;
} Studen;
typedef struct
{
Studen* stus;
int stuLengh;
} StudentClass;
double getAvg(Studen* std)
{
return (std->mathGrade+std->chineseGrande+std->englishGrande+std->PHYGrande)/4 ;
}
bool saveFile(char* filename,StudentClass* cla)
{
char buff[1024];
double avg;
for(int i = 0;i< cla->stuLengh;i++)
{
avg = getAvg(&cla->stus[i]);
if(avg > 80)
printf("%s,这个崽不错,平均分超过了80分,给予表扬\n",cla->stus[i].name);
sprintf(buff,"%s %s 数学:%d,语文:%d,英语:%d,物理:%d,平均:%lf\n",
cla->stus[i].id,
cla->stus[i].name,
cla->stus[i].mathGrade,
cla->stus[i].chineseGrande,
cla->stus[i].englishGrande,
cla->stus[i].PHYGrande,
avg);
//接下来 把 buff 写入到文件即可
}
// 写完文件后 关闭保存文件
//return 保存结果
return false;
}