| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 923 人关注过本帖
标题:为什么把程序分成四个文件就运行不了?
取消只看楼主 加入收藏
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
结帖率:90.63%
收藏
已结贴  问题点数:20 回复次数:9 
为什么把程序分成四个文件就运行不了?
求解,什么回事?我把一个程序代码分成四个就运行不了,求解析!但原程序可以运行!
程序代码:
#include "stdio.h"
#define N  5
#define M  7
void main()
{
   
    float score[N][M];
   
    extern input_score(score) ;
    extern count_average(score);
    extern output_score(score);
    extern score_sort(score);
    extern output_score(score);
   
}#define N  5
#define M  7
extern void score_sort(float arr[][M], int n)
{   int j, k, m, p; float temp ;
    for (m=0; m<n-1; m++)
    {   k=m ;
        for (j=m+1; j<n; j++)
            if (arr[k][M-1]<arr[j][M-1])  k=j ;
        if (k!=m)
        { 
            for(p=0; p<M; p++)
            {   temp=arr[m][p] ; arr[m][p]=arr[k][p] ;
                arr[k][p]=temp ;
            }
        }
    }
}
#include "stdio.h"
#define N  5
#define M  7
extern void output_score(float arr[N][M])
{  int n, m;
   printf ("   学号  课程—1  课程—2  课程—3  课程—4  课程—5 平均成绩\n\n") ;
   for ( n=0; n<N; n++)
   {  printf (" %6d", (int)arr[n][0] );
      for(m=1; m<M; m++)
          printf (" %8.2f", arr[n][m]) ;
      printf("\n\n") ;
   }
}#define N  5
#define M  7
extern void  count_average(float arr[][M], int n)
{   float aver ;
    int k, m ;
    for ( k=0; k<n; k++)
    {  aver=0.0 ;
       for (m=1; m<M-1; m++)
           aver=aver + arr[k][m] ;
       arr[k][M-1]=aver/(M-2) ;  
    }
}#define N  5
#define M  7
#include "stdio.h"
void input_score(float arr[N][M])
{  int n, m;
   for ( n=0; n<N; n++)
   {  printf(" input NO please:") ;
      scanf("%f",&arr[n][0]) ;
      printf(" input %d score:\n",M-2) ;
      for(m=1; m<M-1; m++)
          scanf("%f",&arr[n][m]) ;
      printf (" \n\n") ;
   }
}
2012-12-12 16:41
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 2楼 daniel_
原程序是这样的
程序代码:
//  输入若干学生的若干门课程的成绩,通过函数调用求每个学生的平均成绩,并按平均成绩的高低从高到低排序输出。
//假设保存的有学号、5门课程,平均成绩


#include "stdio.h"
#define N  5
#define M  7

void input_score(float arr[N][M])
{  int n, m;
   for ( n=0; n<N; n++)
   {  printf(" input NO please:") ;
      scanf("%f",&arr[n][0]) ;
      printf(" input %d score:\n",M-2) ;
      for(m=1; m<M-1; m++)
          scanf("%f",&arr[n][m]) ;
      printf (" \n\n") ;
   }
}

void  count_average(float arr[][M], int n)
{   float aver ;
    int k, m ;
    for ( k=0; k<n; k++)
    {  aver=0.0 ;
       for (m=1; m<M-1; m++)
           aver=aver + arr[k][m] ;
       arr[k][M-1]=aver/(M-2) ; 
          //计算每个人的平均成绩
    }
}


void output_score(float arr[N][M])
{  int n, m;
   printf ("   学号  课程—1  课程—2  课程—3  课程—4  课程—5 平均成绩\n\n") ;
   for ( n=0; n<N; n++)
   {  printf (" %6d", (int)arr[n][0] );
      for(m=1; m<M; m++)
          printf (" %8.2f", arr[n][m]) ;
      printf("\n\n") ;
   }
}


void score_sort(float arr[][M], int n)
{   int j, k, m, p; float temp ;
    for (m=0; m<n-1; m++)
    {   k=m ;
        for (j=m+1; j<n; j++)
            if (arr[k][M-1]<arr[j][M-1])  k=j ; // 按平均成绩排序
        if (k!=m)
        { 
            for(p=0; p<M; p++)
            {   temp=arr[m][p] ; arr[m][p]=arr[k][p] ;
                arr[k][p]=temp ;
            } // 学号、各门课程成绩、平均成绩同时交换
        }
    }
}


void main()
{   float score[N][M] ;
    input_score(score) ;   //调用函数实现成绩数据输入
    count_average(score, N);   //调用函数计算平均成绩
    output_score(score) ;     //调用函数输出未排序的成绩
    score_sort(score, N);  //调用函数按平均成绩排序
    output_score(score) ;     //调用函数输出已排序的成绩
}


我学了模块化,想尝试把程序分成模块,结果没成功!

新手发言,请多指教!
2012-12-12 16:51
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 2楼 daniel_
不好意思,我是新人,还不是很会发帖,请多包涵!请多多指教!

新手发言,请多指教!
2012-12-12 16:53
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 6楼 daniel_
但我运行的结果是这样
图片附件: 游客没有浏览图片的权限,请 登录注册
,即是不能运行!

新手发言,请多指教!
2012-12-12 17:12
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 7楼 daniel_
能不能分成几个文件?

新手发言,请多指教!
2012-12-12 17:13
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
mukuai.zip (202.65 KB)
看看我写的代码,还是不行

[ 本帖最后由 chen1204019 于 2012-12-12 18:05 编辑 ]

新手发言,请多指教!
2012-12-12 17:52
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 11楼 daniel_
我用vc6.0的,我刚学c语言不久,现在尝试下模块化

[ 本帖最后由 chen1204019 于 2012-12-13 18:24 编辑 ]

新手发言,请多指教!
2012-12-12 17:54
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 13楼 daniel_
哦,我用vc6.0,现在我尝试下!

新手发言,请多指教!
2012-12-12 17:56
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 18楼 daniel_
那个,加不加extern有什么区别?不加也可以运行了!

新手发言,请多指教!
2012-12-13 16:22
chen1204019
Rank: 1
来 自:广东
等 级:新手上路
帖 子:93
专家分:0
注 册:2012-12-3
收藏
得分:0 
回复 20楼 fan20121221
非常感谢!

新手发言,请多指教!
2012-12-13 18:38
快速回复:为什么把程序分成四个文件就运行不了?
数据加载中...
 
   



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

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