| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 296 人关注过本帖
标题:大神能帮我改下错么。。刚学文件读写不太熟
只看楼主 加入收藏
bian0531
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-25
结帖率:0
收藏
已结贴  问题点数:2 回复次数:5 
大神能帮我改下错么。。刚学文件读写不太熟
#include<stdio.h>
#define N 30
typedef struct student
{
    long studentID;
    int score[3];
}STUDENT;
void readscore(STUDENT stu[],int n,int m);
void averscore(STUDENT stu[],float aver[],int n,int m);
void addscore(STUDENT stu[],int add[],float aver[],int n,int m);
void writetofile(STUDENT stu[],int add[],float aver[],int n,int m)
int main()
{
    float aver[N];
    STUDENT stu[N];
    int add[N];
    int n;
    scanf("%d",&n);
    readscore(stu,n,3);
    averscore(stu,aver,n,3);
    addscore(stu,add,aver,n,3);
    writetofile(stu,add,aver,n,3);
    return 0;
}
void readscore(STUDENT stu[],int n,int m)
{
    FILE *op;
    int i,j;
    op=fopen("data.in.txt","r");
    fscanf(op,"%d",&n);
    for(i=0;i<n;i++)
    {
        fscanf(op,"%ld",&stu[i].studentID);
        for(j=0;j<m;j++)
        {
            fscanf(op,"%d",&stu[i].score[j]);
        }
    }
}
void averscore(STUDENT stu[],float aver[],int n,int m)
{
    int i,j;
    int sum[N];
    for(i=0;i<n;i++)
    {
        sum[i]=0;
        for(j=0;j<m;j++)
        {
            sum[i]=sum[i]+stu[i].score[j];
        }
        aver[i]=(float)sum[i]/m;
    }
}
void addscore(STUDENT stu[],int add[],float aver[],int n,int m)
{
    int i,j,add1;
    float aver1;
    STUDENT change;
    for(i=0;i<n;i++)
    {
        add[i]=0;
        for(j=0;j<m;j++)
        {
            add[i]=add[i]+stu[i].score[j];
        }
    }
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
            if(add[i]<add[j])
            {
               
                add1=add[j];
                change=stu[j];
                aver1=aver[j];
                add[j]=add[i];
                stu[j]=stu[i];
                aver[j]=aver[i];
                add[i]=add1;
                stu[i]=change;
                aver[i]=aver1;
               
            }
    }
}
void writetofile(STUDENT stu[],int add[],float aver[], int n,int m)
{
    FILE *fp;
    int i,j;
    fp=fopen("data.out.txt","w");
        fprintf(fp,"\tNO\tMT\tEN\tPH\tSUM\tAVER\n");
    for(i=0;i<n;i++)
    {

        fprintf(fp,"%ld\t",stu[i].studentID);
        for(j=0;j<m;j++)
        {
            fprintf(fp,"%d\t",stu[i].score[j]);
        }
        fprintf(fp,"%d\t",add[i]);
        fprintf(fp,"%.0f\n",aver[i]);
    }
}
搜索更多相关主题的帖子: include 
2012-12-04 16:46
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:1 
void writetofile(STUDENT stu[],int add[],float aver[],int n,int m)少了个分号。
其他的就没有编译错误了。

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-12-04 17:02
bian0531
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-25
收藏
得分:0 
回复 2楼 一个孩子
大神那能问一下么。。我用VS也说少分号,可是那里少了啊。。。
2012-12-04 17:10
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:0 
void writetofile(STUDENT stu[],int add[],float aver[],int n,int m);//这里少了个分号,我给你加上了,可能你没注意,一开始的话都是这样的,我有时候也这样。。

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-12-04 17:14
锋了
Rank: 7Rank: 7Rank: 7
来 自:向日葵幼儿园
等 级:黑侠
威 望:2
帖 子:306
专家分:586
注 册:2012-10-27
收藏
得分:1 
同楼上
2012-12-04 17:37
bian0531
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-25
收藏
得分:0 
回复 3楼 bian0531
图片附件: 游客没有浏览图片的权限,请 登录注册

那我加了分号以后这样报错怎么回事啊大神。。。。
2012-12-04 17:44
快速回复:大神能帮我改下错么。。刚学文件读写不太熟
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030584 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved