同时:单词后立即打破

时间:2013-05-28 19:11:15

标签: c++ vector while-loop cin

我正在尝试为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;
}

1 个答案:

答案 0 :(得分:4)

如果输入break,则

"end"退出循环。

while (true) {
    cin >> text;
    if (text == "end")
        break;

    // ...
}