代码错误提示求大侠
#include <iostream>
using namespace std;
void input (float**,int ,int);
void ave(float**,int ,int,float*);
void output(float*,int );
int main()
{
float **score;
float *avg;
int stunum,coursenum,i;
cout<<"请输入学生的数量:"<<endl;
cin>>stunum;
cout<<"请输入考科数目:"<<endl;
cin>>coursenum;
score=new float*[stunum];
for(i=0;i<stunum;i++)
score[i]=new float[coursenum];
avg=new float[stunum];
input(score,stunum,coursenum);
ave(score,stunum,coursenum,avg);
output(avg,stunum);
for (i=0;i<stunum;i++);
delete[]score[i];
delete[]score;
delete avg;
return 0;
}
void ave(float** score,int stunum,int coursenum,float*avg)
{
int i,j;
float sum;
for(i=0;i<stunum;i++)
{
sum=0.0;
for(j=0;j<stunum;j++)
{
sum=sum+score[i][j];
}
avg[i]=sum/coursenum;
}
}
void ave(float**score,int stunum,int coursenum)
{
int i,j;
for(i=0;i<stunum;i++)
{
for(j=0;j<coursenum;j++)
{
cout<<"输入第"<<i+1<<"名考生第"<<j+1<<"科目成绩:";
cin>>score[i][j];
}
}
}
void output(float*avg,int stunum)
{
int i;
for(i=0;i<stunum;i++)
{
cout<<"第"<<i+1<<"名考生平均成绩:";
cout<<avg[i]<<endl;
}
}
编译时:
1>------ 已启动生成: 项目: ZHIZHEN, 配置: Debug Win32 ------
1>正在编译...
1>ZHI_ZHEN.cpp
1>正在编译资源清单...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>正在链接...
1>ZHI_ZHEN.obj : error LNK2019: 无法解析的外部符号 "void __cdecl input(float * *,int,int)" (?input@@YAXPAPAMHH@Z),该符号在函数 _main 中被引用
1>F:\coding\Project1\ZHIZHEN\Debug\ZHIZHEN.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>生成日志保存在“file://f:\coding\Project1\ZHIZHEN\ZHIZHEN\Debug\BuildLog.htm”
1>ZHIZHEN - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
这个错误想表达什么意思啊?
[解决办法]
void input (float**,int ,int);这函数的实现部分呢??
[解决办法]
ls+1
貌似二维数组与指针的指针是不等价的…
[解决办法]
大哥,main函数第二个for行后面不要加 “;”,否则每次都删除过界的。另外第二个avg函数应该是input函数吧?修正程序如下:
#include <iostream>using namespace std;void input (float**,int ,int);void ave(float**,int ,int,float*);void output(float*,int );int main(){ float **score; float *avg; int stunum,coursenum,i; cout<<"请输入学生的数量:"<<endl; cin>>stunum; cout<<"请输入考科数目:"<<endl; cin>>coursenum; score=new float*[stunum]; for(i=0;i<stunum;i++) score[i]=new float[coursenum]; avg=new float[stunum]; input(score,stunum,coursenum); ave(score,stunum,coursenum,avg); output(avg,stunum); for (i=0;i<stunum;i++) delete[] score[i]; delete[]score; delete avg; //cout<<score[1][1]<<endl; system("pause"); return 0;}void ave(float** score,int stunum,int coursenum,float*avg){ int i,j; float sum; for(i=0;i<stunum;i++) { sum=0.0; for(j=0;j<stunum;j++) { sum=sum+score[i][j]; } avg[i]=sum/coursenum; }}void input(float**score,int stunum,int coursenum){ int i,j; for(i=0;i<stunum;i++) { for(j=0;j<coursenum;j++) { cout<<"输入第"<<i+1<<"名考生第"<<j+1<<"科目成绩:"; cin>>score[i][j]; } }}void output(float*avg,int stunum){ int i; for(i=0;i<stunum;i++) { cout<<"第"<<i+1<<"名考生平均成绩:"; cout<<avg[i]<<endl; }}