我試圖從cin
向一個向量賦值。
我該如何實現while循環在特定單詞之後立即中斷,例如end
,被輸入了? 在我的例子中,只有當我將這個詞作爲「年齡」輸入時,纔會中斷,因此只在循環的結尾處。如果我在開始時輸入它(如「名稱」),它就會繼續。While:字之後立即中斷
#include <iostream>
#include <vector>
using namespace std;
struct person {
string name;
string age;
};
int main() {
vector<person> myPerson;
string text;
while(text != "end") {
person tempPerson;
cout << "Name:" << endl;
cin >> text;
tempPerson.name = text;
cout << "Age:" << endl;
cin >> text;
tempPerson.age = text;
myPerson.push_back(tempPerson);
}
for(int i=0; i<myPerson.size(); i++) {
cout << "Person No. " << i << ": " << endl;
cout << "Name: " << myPerson[i].name << endl;
cout << "Age: " << myPerson[i].age << endl;
}
return 0;
}
您應該包含''標頭以使用'std :: string'。不要依賴間接頭包括。 –
0x499602D2