| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1953 人关注过本帖
标题:C语言功能模块连接题,出现了error C2601
只看楼主 加入收藏
江南吖
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2018-5-28
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
C语言功能模块连接题,出现了error C2601

#include<stdio.h>
#include<stdlib.h>
#define M  3
#define N  4
int n;   
void transposition();
void range();
  double average(double array[M][N]);
void multiply();
void menu(void);

void main()

 {
short int flag=0;
     system("color f0");
     menu();
     do
     {    flag=1;
         switch(getch())
         {    case '1' : transposition();break;    /*数组转置*/
             case '2' : range ();break;    /*数组排序 */
             case '3' : double average ();break;    /*数组平均*/
             case '4' : multiply ();break;        /*数组乘法 */
case '5' :exit(0);                /*退出程序*/

               default : printf("输入有误\n");
         }
         printf("按任意键继续\n");
         getch();
         menu();
     }while (flag==1);
 }
void menu(void)
 {
     system("cls");
     printf("\n");
     printf("*********欢迎进入数组运算系统**************\n");
     printf("                 菜单                       \n");
     printf("数组转置------------------------------------1\n");
     printf("数组排序------------------------------------2\n");
     printf("数组平均-------------------------------------3\n");
     printf("数组乘法-------------------------------------4\n");
     printf("退出系统-------------------------------------5\n");
void transposition(void)
 {
     int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3];
     int i,j;
     printf("转置前矩阵:\n");
     for(i=0;i<3;i++)
     {
         for(j=0;j<4;j++)
         {
         printf("%5d",a[i][j]);     
         }
         printf("\n");
     }

for(i=0;i<4;i++)
         for(j=0;j<3;j++)
             b[j][i]=a[i][j];

 printf("转置后矩阵:\n");
 {for(i=0;i<3;i++)
     for(j=0;j<4;j++)
         b[j][i]=a[i][j];
     for(i=0;i<4;i++)
     {
         for(j=0;j<3;j++)
         printf("%2d ",b[i][j]);
         printf("\n");
     }
 }

     printf("**********************************************\n");
     printf("请输入您的选择\n");
     
 }
void range(void)
 {
     int i;
     float a[N],max,min;
     printf("请输入%d个数:\n",N);
     for(i=0;i<N;i++)
     {
     scanf("%f",&a[i]);
     }      //数据录入
    max=min=a[0];  //假设第一个元素是最大值也是最小值
    for(i=0;i<N;i++)
     {
     if(a[i]>max)
     max=a[i];
     else if(a[i]<min)
     min=a[i];
     }
     printf("最大值为:%5.0f\n",max);
     printf("最小值为:%5.0f\n",min);
 }

double average(double array[M][N])
 {
int i,j;
  printf("请输入二维数组:\n");
  for (i=0;i<3;i++)
  {
   for (j=0;j<4;j++)
   {
    scanf("%lf",&array[i][j]);
   }
  }
  printf("二维数组平均值为:%lf\n",average(array));

  double sum=0;
  for (i=0;i<3;i++)
  {
   for (j=0;j<4;j++)
   {
    sum+=array[i][j];
   }
  }
  return sum/(M*N);
 }

void multiply(void)
 {
     int i,j,k,a[M][M],b[M][M],c[M][M];   
     /*为需要相乘的两个矩阵赋值:*/
     printf("输入第一个矩阵:\n");
     for(i=0;i<M;i++)
     {
         for(j=0;j<M;j++)
         {
             scanf("%d",&a[i][j]);
         }
     }
     printf("输入第二个矩阵:\n");
     for(i=0;i<M;i++)
     {
         for(j=0;j<M;j++)
         {
             scanf("%d",&b[i][j]);
         }
     }
     /*初始化c:*/
     for (i = 0; i < M; i++)         
         for (j = 0; j < M; j++)  
             c[i][j] = 0;  
      for (i = 0; i<M; i++)               
         for (j = 0; j < M; j++)  
         {  
             c[i][j] = 0;  
             for (k = 0; k < M; k++)  
                 c[i][j] += a[i][k] * b[k][j];  
         }  
     for (i = 0; i < M; i++)     
         for (j = 0; j < M; j++)  
             printf("%5d", c[i][j]);
     printf("\n");           
  
 }  


 }
[/code]


 C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(20) : error C2065: 'getch' : undeclared identifier
 C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(46) : error C2601: 'transposition' : local function definitions are illegal
 C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(80) : error C2601: 'range' : local function definitions are illegal
 C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(101) : error C2601: 'average' : local function definitions are illegal
 C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(125) : error C2601: 'multiply' : local function definitions are illegal
这是错误


[此贴子已经被作者于2018-5-31 17:43编辑过]

搜索更多相关主题的帖子: void 数组 printf for i++ 
2018-05-31 17:39
江南吖
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2018-5-28
收藏
得分:0 
以上错误解决了

C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(172) : error C2143: syntax error : missing ';' before '}'
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(172) : error C2143: syntax error : missing ';' before '}'
C:\Program Files\Microsoft Visual Studio\MyProjects\355\355.cpp(172) : error C2143: syntax error : missing ';' before '}'

出现了这个
2018-05-31 17:55
江南吖
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2018-5-28
收藏
得分:0 
解决了解决了
2018-05-31 17:57
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
收藏
得分:10 
参见:
https://bbs.bccn.net/thread-486259-1-8.html
54、error C2601: 'xxx' : local function definitions are illegal
  中文对照:(编译错误)函数xxx定义非法
  分析:一般是在一个函数的函数体中定义另一个函数
2018-05-31 18:59
快速回复:C语言功能模块连接题,出现了error C2601
数据加载中...
 
   



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

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