Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在矢量中显示所有元素_C++_Vector_Push Back - Fatal编程技术网

C++ 如何在矢量中显示所有元素

C++ 如何在矢量中显示所有元素,c++,vector,push-back,C++,Vector,Push Back,当我试图显示矢量中的所有元素时,它只显示经销商的名称和经销商的编号,但缺少车辆的编号!那么如何完整地显示整个向量呢 我在Main中声明了一个向量,并将其传递给readIn和display函数。 还是推回有什么问题 但是当我使用调试器时 假设结果如下: John Elway Dodge 123 2 Tesla Cherry Creek 234 1 但现在是这样的: John Elway Dodge 123 Tesla Cherry Creek 234 由于

当我试图显示矢量中的所有元素时,它只显示经销商的名称和经销商的编号,但缺少车辆的编号!那么如何完整地显示整个向量呢

我在Main中声明了一个向量,并将其传递给readIn和display函数。 还是推回有什么问题

但是当我使用调试器时

假设结果如下:

John Elway Dodge    123    2
Tesla Cherry Creek    234    1
但现在是这样的:

John Elway Dodge    123
Tesla Cherry Creek    234
由于某种原因,“2”和“1”缺失。 这是我的密码。先谢谢你

#include <fstream>
#include <iostream>
#include <vector>
#include <string>
using namespace std;
  class Dealer
{
private:
    string dealerName;
    int dealerNumber;
    int numberOfCars;

public:

    Dealer();
    Dealer(string _dealerName, int _dealerNumber, int _numberOfCars);

    void readIn(vector <Dealer> &tempDealerOne);
};

void display(vector <Dealer> &tempDealerOne);
int main() 
{
    vector <Dealer> dealerOne;
    Dealer dealer1;
    dealer1.readIn(dealerOne);
    display(dealerOne);
}

// function to read in data
void Dealer::readIn (vector <Dealer> &tempDealerOne)
 {
    const int size = 23;
    ifstream infile;
    infile.open("in.txt");
    string tempName[size];
    int tempDealerNum[size],tempCarNum[size];
    Dealer temp1;
    for(int i = 0; i < size; i++)
    {
        getline(infile,tempName[i]);
        if(i == 0)
        {
            infile >> tempDealerNum[i];
            infile >> tempCarNum[i];
            temp1.dealerName = tempName[i];
            temp1.dealerNumber = tempDealerNum[i];
            // this 
            temp1.numberOfCars = tempCarNum[i];
            // assign the data to vector
            tempDealerOne.push_back(temp1);
        }
        if(i == 14)
        {
            infile >> tempDealerNum[i];
            infile >> tempCarNum[i];
            temp1.dealerName = tempName[i];
            temp1.dealerNumber = tempDealerNum[i];
            temp1.numberOfCars = tempCarNum[i];
            // assign the data to vector
            tempDealerOne.push_back(temp1);
        }

    }
    // read in data store in vector
    // then pass it to Dealer class
     infile.close();
 }

 void display(vector <Dealer> &tempDealerOne)
{
    // what is the problem
    for(int i = 0; i < tempDealerOne.size(); i++)
    cout << tempDealerOne[0]<< "\n";
}

在调试器中,“2”和“1”位于vector dealerOne中,它们位于numberOfCars列下!问题可能出在(
std::ostream&operator
for(int i=0;idisplay()
函数反复输出
tempDealerOne[0]
-仔细查看
[]
中的内容。它不显示任何其他内容。投票结束是一个打字错误。
John Elway Dodge
123
2
*****
*****
*****
*****
*****
*****
*****
*****
*****
*****


Tesla Cherry Creek
234
1
*****
*****
*****
*****
*****