1

名前のセットを入力する必要があるセンチネル制御の C++ プログラムを作成しました。入力できる名前の数に制限はありません。名前の入力が終わったら、「1」と入力して終了します。これが私のコードです:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string name;
    int nofPeople = 0;
    cout<<"Enter a name or 1 to quit:\n";
    cin>>name;
    while(name != "1")
    {
        nofPeople = nofPeople + 1;

        cout<<"Enter another name or 1 to quit:\n";
        cin>>name;
    }
}

ここで、「nofPeople」に等しい長さの配列を作成し、その配列の要素を既に入力した名前にしたいと考えています。それ、どうやったら出来るの?

4

2 に答える 2

1

std::vectorおよびそのメソッドを使用しpush_backて、ユーザーが入力した名前をベクトルに追加できます。

于 2015-02-10T10:05:50.407 に答える
0

これを行う標準的な方法は、std::vector<std::string>受け取った文字列を追加する を作成し、最後に (すべての文字列を収集したら) ベクトルを配列に変換することです。

ただし、言及されていない他の奇妙な要件がない限り、配列の使用を忘れて、プログラム全体でベクトルを操作し続けることを強くお勧めします。

于 2015-02-10T10:04:15.387 に答える