将用户输入并将其插入动态分配数组,即Beginner C ++

时间:2016-12-08 16:05:47

标签: c++

string firstname, lastname;
string phonenumber, email;
cout << "What is the first of the person that you would like to add? : ";
cin >> firstname;


cout << "What is the last of the person that you would like to add? : ";
cin >> lastname;


cout << firstname << " " << lastname << endl;
cout << "What is the phone number of that person? : ";
cin >> phonenumber;

我需要帮助获取此用户输入并将其插入阵列。老实说,我不知道怎么做,如果我能得到一些帮助就会很棒!

1 个答案:

答案 0 :(得分:3)

创建一个名为Record的结构,如下所示

struct Record
{
   string firstName, lastName,phone; //etc 
}; 

如果你知道要输入多少条记录,那么你必须创建一个Record数组,如下所示

Record PersonInfo[5];

现在PersonInfo的每个索引都说PersonInfo [2]是一个完整的记录,你可以访问像

这样的字段
PersonInfo[2].phone = "5655567" //etc

现在,如果您想创建Record数组但不知道大小,那么现在最好的选择是使用如下的向量。向量是一个可变大小的数组。您需要包含以下标题

#include<vector>

在病房之后,您可以执行以下操作

vector<Record> PersonInfo //thats how vectors are declared

&lt;&gt;之间的名称bractes告诉你想要什么类型的矢量,你也可以写int。 以下是如何将项目添加到矢量

Record r1,r2; // just for example
PersonInfo.push_back(r1);
PersonInfo. push_back(r2);

您可以在其中添加任意数量的项目,您可以像访问数组一样访问它们,如下所示

PersonInfo[0] .lastName // its actually r1.lastName and so on

现在看起来很困难你可能想要在进行动态内存分配之前学习向量及其操作,这需要你理解指针是什么。我不知道你知道关于指针以及如何使用它们,这就是为什么我提到你的载体