清晨小鹿敲门 2022-01-11 20:11 采纳率: 91.7%
浏览 24
已结题

c语言结构体函数知识编写成绩管理系统,出现错误

#include<stdio.h>
struct students
{
int num;
char name[10];
float math;
float eng;
float cy;
}
double average(float a,float b,float c)
{
double aver ;
aver=(a+b+c)/3;
return aver;
}
void sort(struct students a[3],double aver[3])
{
int i,j;
double t;
FILEfg;
fg=fopen("score_aver . txt","w");
for(i=0;i<2;i++ )
for(j=0;j<3-i;j++)
if(aver[i]<aver[j])
{
t=aver[i];
aver[i]=aver[j];
aver[j]=t;
}
for(i=0;i<3;i++)
{
fprintf(fg,"%d%s%f%f%f%lf",a[i].num,a[i].name ,a[i].math,a[i].eng ,a[i].cy ,aver[i]);
printf("%d%5%f%f%f%lf",a[i] .nun,a[i].name ,a[i].math,a[i].eng,a[i].cy,aver[i]);
}
fclose(fg);
}
int main()
{
struct students a[3];
int i;
double aver[3]={0};
FILE
fp, *fg ;
fp=fopen("score.txt" ,"r");
fg=fopen("'score_ aver txt","w");
fprintf(fg,"姓名 高数 英语 c语言 平均分");
printf("姓名 高数 英语 c语言")
for(i=0;i<3;i++)
{
fscanf(fp ,"%d%s%f%f%f" ,&a[i] .num,&a[i].name ,&a[i].math,&a[i] .eng ,&a[i].cy);
aver[i]=average(a[i] math,a[i].eng,a[i].cy);
}
sort(struct students a[3],aver[3]);
fclose(fp);
fclose(fg);
return 0;
}



  • 写回答

1条回答 默认 最新

  • qhhotter_man 2022-01-11 20:37
    关注

    fg=fopen("'score_ aver txt","w");
    多了引号,
    printf("姓名 高数 英语 c语言")
    少了分号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月22日
  • 已采纳回答 6月14日
  • 创建了问题 1月11日

悬赏问题

  • ¥15 flutter 错误RROR:flutter/runtime/dart_vm_initializer.cc(41)
  • ¥15 python和aspen Adsportion交互
  • ¥20 打开谷歌浏览器使用摄像头进行人脸认证登录,系统提示检测到多个摄像头设备疑似攻击,请重新验证。
  • ¥50 服务器被挂外链急需解决
  • ¥15 C语言方阵最基本的氩气放电等离子体鞘层
  • ¥15 QWebEngineView
  • ¥15 docker启动报错,如何解决?(操作系统-linux)
  • ¥15 c#发送hl7 ZRL_Z22取号信息到消息平台无法解析,如何解决?
  • ¥20 unity如何接入最新的Mimo广告SDK
  • ¥15 zynq板子ps端如何实现sata硬盘存储数据