我是C++新手,正在嘗試創建一個程序來詢問用戶的個人問題。如何訪問C++中的某些元素(向量中)
std::vector<std::string> name, age, favsinger;
std::cout << "Hello, what is your Name Age Favorite_Singer? ";
std::cin << name;
std::cin << age;
std::cin << favsinger;
int n;
std::cout << "How many siblings do you have? ";
std::cin << n;
for (int a=0;a<n;a++){
std::cout << "Please enter Name Age Favorite_Singer for sibling #" << a << ": ";
std::string a, b, c;
std::cin >> a;
std::cin >> b;
std::cin >> c; //this part throws me off because favorite singer has a first_name SPACE last_name
name.push_back(a);
age.push_back(b);
favsinger.push_back(c);
}
比方說,用戶輸入「3」兄弟姐妹的信息:
Michael 24 Madonna
Sam 20 Michael Jackson
Anna 18 None
我希望能夠訪問每個兄弟姐妹的喜好,無論是他們的姓名,年齡,或最喜歡的歌手。
我試着做
age[1]
,但如果我這樣做
favsinger[1]
它被拋出,因爲空間的關閉。
您可能想使用'std :: getline'來獲取一行輸入,併爲您自己解釋該行。 – WiSaGaN
但是,如果我使用std :: getline,我不知道如何訪問favorite_singer並考慮到使用的空白空間。 – Kara
你訪問元素的方式很好[age.at(index)更好]。元素沒有插入到矢量[檢查長度]。如果你發佈完整的代碼,那會更好 – Dineshkumar