2016-12-08 52 views
1
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; 

我需要幫助獲取此用戶輸入並將其插入到數組中。我真的不知道該怎麼做,如果我能得到一些幫助,那會很棒!以用戶輸入並將其插入動態分配陣列,Beginner C++

+0

'std :: vector '將幫助 – ForceBru

+0

[發現一個很好的初學者書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)並開始閱讀關於* structures *的內容,然後再開始思考「動態數組」。如果你有一本好書,那麼它也會解釋動態內存分配。 –

+0

我明白如何使用具有固定值的數組,但我的教授告訴我,我們必須這樣做(對於編程任務),也使用結構體,我是否應該閱讀這些數組? –

回答

3

創建一個名爲記錄結構如下

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

如果你知道你要多少記錄進入,那麼你有如下

Record PersonInfo[5]; 

現在的各項指標創造記錄的數組PersonInfo讓說PersonInfo [2]是一個完整的記錄,你可以訪問那裏像

PersonInfo[2].phone = "5655567" //etc 

現在,如果您想創建Record的數組,但不知道大小,那麼現在最好的辦法就是使用如下的矢量。矢量是可變長度的數組。您需要包括下面的頭

#include<vector> 

後換房,你可以做以下

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

<>之間的名字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 

這似乎很難,因爲現在你在進行動態內存分配之前可能想要學習向量及其操作,這需要您瞭解指針是什麼。我不知道你知道指針和如何使用它們,這就是爲什麼我認爲你向量