Я пытаюсь присвоить некоторые значения вектору от cin
.
Как добиться того, чтобы цикл while прерывался сразу после определенного слова, например. end
, был введен? В моем примере он только ломается, если я ввожу это слово как «возраст», поэтому только в конце цикла. Если я вхожу в него в начале (как «имя»), он просто продолжается.Пока: Перерыв сразу после слова
#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