I closed out the other post I had "fill 2d array". The assignment is to read in a file to a 2d array that has the month #, high temp, low temp for each month. Then calculate the aver high and aver low and give the highest and lowest temps.
A fellow student helped me get on the right track for the problem of fillng the array.
I am breaking the pgm into pieces. I am trying to get the function working that finds the aver high. I am getting some errors that have me stumped. Any help would be appreciated.
>Chptr9_exer4.obj : error LNK2019: unresolved external symbol "double __cdecl AverHigh(double (* const)[3],int,double)" (?AverHigh@@YANQAY02NHN@Z) referenced in function _main
1>C:\Documents and Settings\User\Desktop\C++ Programming\Chapter 9\Chptr9_exer9\Debug\Chptr9_exer9.exe : fatal error LNK1120: 1 unresolved externals
Here is my code
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int NUMBER_OF_ROWS = 12;
const int NUMBER_OF_COLUMNS = 3;
void GetData(ifstream& in, double m_t[][NUMBER_OF_COLUMNS], int NUMBER_OF_ROWS);
double AverHigh(double m_t[][NUMBER_OF_COLUMNS],int NUMBER_OF_ROWS, double aver_h);
int main()
{
double m_t[12][3];
double aver_h = 0;
// double aver_l;
// int high;
// int low;
ifstream in;
// ofstream out;
in.open("testdata.txt");
if (!in)
{
cout << "Cannot open input file." << endl;
return 1;
}
// out.open("outdata");
while (in)
{
int row;
int col;
in >> row >> col; // I'm trying to do a priming read
GetData(in, m_t, NUMBER_OF_ROWS);
AverHigh(m_t, NUMBER_OF_ROWS, aver_h);
void GetData(ifstream& in, double m_t[][NUMBER_OF_COLUMNS], int numberOfRows)
{
int row;
int col;
for (row=0; row < numberOfRows; row++)
for (col=0; col < NUMBER_OF_COLUMNS; col++)
in >> m_t[row][col];
system("pause");
}
double averHigh(double m_t[][NUMBER_OF_COLUMNS],int NUMBER_OF_ROWS, double aver_h)
{
int c;
int r;
// double aver_h;
for (c = 1; c < NUMBER_OF_COLUMNS; c++)
{
double aver_h = 0;
double sum = 0;
for (r = 0; r < NUMBER_OF_ROWS; r++)
sum = sum + m_t[r][c];
aver_h = sum / NUMBER_OF_ROWS;
}
return aver_h;
}