-8

我不知道为什么这段代码不起作用,任何帮助将不胜感激。无论我做什么,我仍然会遇到同样的错误。我知道需要传递更多参数,但我只是看不出我可以添加什么。

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
double getSales();
void findHighest(double sale[]);
int main()
{
 double sales;
 const int ARRAY_SIZE = 4;
 double salesNE, salesSE, salesNW, salesSW;
 double highest = 0;
 string winner;
 string names[ARRAY_SIZE] = {"Northeast", "Southeast", "Northwest", "Southwest"};
 double sale[ARRAY_SIZE];
 int counter = 0;
 cout<<"Input data for the Northeast Division:"<<endl;
 sale[0] = getSales();
 cout<<"Input data for the Southeast Division:"<<endl;
 sale[1] = getSales();
 cout<<"Input data for the Northwest Division:"<<endl;
 sale[2] = getSales(); 
 cout<<"Input data for the Southwest Division:"<<endl;
 sale[3] = getSales();
 findHighest();
 system("PAUSE");
 return 0;
}

double getSales()
{
 double sales;
 validate:
 cout<<"Enter the quaterly sales figures for this division:"<<endl;
 cin>>sales;
 if (sales < 0)
 {
  system("CLS");
  cout<<"Invalid input: sales figures must be higher than $0.00"<<endl;
  goto validate;
 }
 return sales;
}

void findHighest(double sale[])
{
 const int ARRAY_SIZE = 4;
 double highest = 0;
 int counter = 0;
 string winner;
 string names[ARRAY_SIZE] = {"Northeast", "Southeast", "Northwest", "Southwest"};
 while (counter < ARRAY_SIZE)
 {
 if (sale[counter] > highest)
  {
   highest = sale[counter];
   winner = names[counter];
  }
  counter += 1;
 }
 cout<<"The "<<winner<<" division had the highest grossing sales at $"<<highest<<"."    <<endl;
}
4

2 回答 2

1

您的函数调用:

findHighest();

你的函数声明:

void findHighest(double sale[]);

看到这些“函数的参数太少”错误有意义吗?该错误几乎是不言自明的..是吗?

于 2013-04-28T17:02:22.287 回答
1

findHighest() 函数中缺少函数参数。

减速功能为void findHighest(double sale[]);

你没有提供论据 double sale[]

因此将 findHighest()[系统(“PAUSE”)语句之前的行]替换为 findHighest(sale)

于 2013-04-28T17:04:15.383 回答