C++ C++;在数组中返回两个值

C++ C++;在数组中返回两个值,c++,arrays,C++,Arrays,我几乎完成了我的代码;然而,有一部分工作不好。简单地说,就是从一个只包含数字的文件中读取数据(例如出售的汽车)。通过使用数组,尝试获取这些数字的总和max和max索引的数字。我的问题是:如何从maxsell函数返回这两个值?它只返回添加到索引中不正确的最大值。结果应指向员工编号,然后是最大值。 这是我目前的代码: #include <iostream> #include <fstream> /*#include <vector> #include <io

我几乎完成了我的代码;然而,有一部分工作不好。简单地说,就是从一个只包含数字的文件中读取数据(例如出售的汽车)。通过使用数组,尝试获取这些数字的总和max和max索引的数字。我的问题是:如何从maxsell函数返回这两个值?它只返回添加到索引中不正确的最大值。结果应指向员工编号,然后是最大值。 这是我目前的代码:

#include <iostream>
#include <fstream>
/*#include <vector>
#include <iomanip>*/
void Read(int arryList[], int size);
void Print(int arryList[], int size);
int total(int arryList[], int size);
int MaxSold(int arryList[], int size, int& number);
using namespace std;
ifstream inFile("C:\\cars.dat");
int main()
 {
 int cars[7];
 int i;
Read(cars,7);
Print(cars,7);
cout<<"The total of sold cars is: "<<total(cars, 7)<< "\n";
cout<<"The Max "<< MaxSold(cars, 7, i);
 }
  void Read(int arryList[], int size){
    for(int i = 0; i < 7; i++)
{
    inFile >> arryList[i];

}
return;
}
void Print(int arryList[], int size){
for (int i = 0; i < 7; i++){

    cout  << i + 1 << "-"<< arryList[i] << "\n";

}
return ;
 }

 int total(int arryList[], int size){
 int sum = 0;
  for (int i = 0; i < size; i++){


 sum +=arryList[i];

 }
 return sum;
 }
  int MaxSold(int arryList[], int size, int& number){
  int Maximum= 0;
  int relate=0;
  for( int i=0 ; i<7 ; i++){

   if (arryList[i] > Maximum){
    Maximum = arryList[i];
    relate = i+1;
   }
  }
  return Maximum, relate;
 }
#包括
#包括
/*#包括
#包括*/
无效读取(int arryList[],int size);
无效打印(整数arryList[],整数大小);
整数总计(整数arryList[],整数大小);
int maxsell(int arryList[],int size,int&number);
使用名称空间std;
ifstream infle(“C:\\cars.dat”);
int main()
{
int汽车[7];
int i;
阅读(汽车,7);
印刷品(汽车,7辆);
不能使用

#包括
//..
std::pair maxsell(int arryList[],int size,int&number)
{
//...
返回std::make_pair(最大,相关);
}
那么

std::pair p=maxsell(cars,7,i);

std::cout一个函数不能返回多个值。当然,该值可以是多个值的容器。它可以是您自己的自定义类型,但最简单的方法是返回一个
std::pair

std::pair maxsell(int arryList[],int size,int&number)
{
// ...
返回std::make_pair(最大,相关);
}

在C++中,逗号运算符通过计算<代码> x <代码>来评估表达式<代码> x,y < /> >,忽略它所计算的任何值,然后评估<代码> y>代码>,并使用它在任何上下文<代码> x,y < />代码>出现。例如:<代码> int x=3+f-(),4×2;< />代码>评估< >代码> 3 + f>(<代码> > -所以如果<代码> f-()
包含say
std::cout
#include<utility>
//..
std::pair<int,int>  MaxSold(int arryList[], int size, int& number)
{
    //...
    return std::make_pair( Maximum, relate );
}
std::pair<int,int> p = MaxSold(cars, 7, i) ; 

std::cout<< p.first ;  //maximum
std::cout<< p.second ; //relate
std::pair<int, int> MaxSold(int arryList[], int size, int& number)
{
    // ...
    return std::make_pair(Maximum, relate);
}