-2

からのベクトルにいくつかの値を代入しようとしています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;
}
4

1 に答える 1

4

breakが入力された場合、ループから抜けます"end"

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

    // ...
}
于 2013-05-28T19:13:44.377 に答える