earlc1 2017-06-07 06:46 采纳率: 0%
浏览 1532

C语言从学生档案文件中读取平时分并按某种计算出平时成绩并创建一个新文件输出

平时成绩=基准分+小组奖惩分+个人全班奖惩分+个人小组奖惩分;
小组奖惩分=(小组得分-小组平均分)*d1
个人全班奖惩分=(个人分-个人全班平均分)*d2
个人小组奖惩分=(个人分-组内个人平均分)*d3
基准分为80d1=0.35,d2=0.25,d3=0.3
#include
#include
struct STU_info
{
int group;
char stunum[10];
char name [8];
int grade;
};
struct NEWSTU_info
{
int group;
char stunum[10];
char name [8];
int ngrade;
};
void main ()
{
FILE *fp1,*fp2;
int i,j,total,tave,gave,pgave[9],gtotal[9],std=80;
double group_grade[53],pggrade[53],ptgrade[53],fgrade[53];
double d1=0.35,d2=0.25,d3=0.3;
fp1=fopen ("desktop:\stu_score1.txt","r");
if (fp1==NULL)
{
printf ("the file : stu_score1.txt not found!");
exit (-1);
}
STU_info stu[53],nstu[53];
for (i=0;i<53;i++)
fgets (stu[i],20,fp1);
for (i=0,total=0;i<53;i++)
total+=stu[i].grade;
gave=total/9;
tave=total/53;
for (i=0,j=0;i<9;i++)
{
for (;j<6;j++)
{
gtotal[i]+=stu[j].grade;
}
j+=6;
}
for (i=0;i<9;i++)
pgave[i]=gtotal[i]/6;
for (i=0;i<53;i++)
{
group_grade[i]=(gtotal[i]-gave)*d1;
ptgrade[i]=(stu[i].grade-tgave)*d2;
pggrade[i]=(stu[i].grade-pgave)*d3;
fgrade[i]=std+group_grade[i]+ptgrade[i]+pggrade[i];
}
fclose(fp1);
fp2=fopen ("desktop:\stu_score2.txt","w");
for (i=0;i<53;i++)
{
nstu[i].group=stu[i].group;
nstu[i].stunum=stu[i].stunum;
nstu[i].name=stu[i].name;
nstu[i].grade=fgrade[i];
}
for (i=0;i<53;i++)
fputs(nstu[i],fp2);
}求解哪些地方错了

  • 写回答

2条回答 默认 最新

  • shen_wei 2017-06-07 06:46
    关注
     C:\\Users\\Administrator\\Desktop\\
    

    明显的是路径错了。。。

     fp1=fopen ("desktop:\stu_score1.txt","r");
    
    评论

报告相同问题?

悬赏问题

  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态