he___H 2020-06-05 14:33 采纳率: 75%
浏览 183
已采纳

想知道函数哪里出现问题了

解决了谢谢
void B(){
int i,j,temp;//计算总分
FILE *fp;
fp=fopen("average.dat","a+");
copy_file("input.dat","average.dat");
fclose(fp);
fp=fopen("average.dat","r");
int c = 0;
while(!feof(fp)){//文件结束返回1,没结束返回零
fscanf(fp,"%s %s %d %d %d %d %d %lf\n",&stu[c].id,&stu[c].name,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sum,&stu[c].rank,&stu[c].aver);
stu[c].sum= stu[c].chinese + stu[c].math + stu[c].english;
stu[c].aver=(double)stu[c].sum/3.00;
c++;
}
fclose(fp);

for(i=0;i temp=1;
for(j=0;j if(stu[j].sum > stu[j+1].sum){
temp++;
}
}
stu[i].rank=temp;
}

fp=fopen("input.dat","w");//显示 
printf("学号\t姓名\t语文\t数学\t英语\t总分\t名次\t平均分\n");
i=0;
while(!feof(fp)){
fscanf(fp,"%s %s %d %d %d %d %d %lf\n",stu[i].id,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sum,stu[i].rank,stu[i].aver); 
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d %lf\n",stu[i].id,stu[i].name,stu[i].chinese,stu[i].math,stu[i].english,stu[i].sum,stu[i].rank,stu[i].aver);
   i++;
   }
fclose(fp);
return;  

}图片说明

改成这样就好了
void B(int count){

int c=0;//计算总分 
FILE *fp;
fp=fopen("average.dat","w+");
copy_file("input.dat","average.dat");
//fclose(fp);
//fp=fopen("average.dat","r+");

 c = 0;

/* while(!feof(fp)){//文件结束返回1,没结束返回零

    c++;
}*/



printf("学号\t姓名\t语文\t数学\t英语\t总分\t名次\t平均分\n");
c=0;
        while(!feof(fp)){
fscanf(fp,"%s %s %d %d %d %d %d %lf\n",&stu[c].id,&stu[c].name,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sum,&stu[c].rank,&stu[c].aver);
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\t%lf\n",stu[c].id,stu[c].name,stu[c].chinese,stu[c].math,stu[c].english,stu[c].sum,stu[c].rank,stu[c].aver);
   c++;
   }
fclose(fp);

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-05 14:35
    关注

    文件的格式和你这里
    fscanf(fp,"%s %s %d %d %d %d %d\n",&stu[c].id,&stu[c].name,&stu[c].chinese,&stu[c].math,&stu[c].english,&stu[c].sum,&stu[c].rank);
    的格式不一致

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

报告相同问题?

悬赏问题

  • ¥100 c语言,请帮蒟蒻看一个题
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)