私はベクトルに読み込まれているデータファイルを持っています。例:オブジェクトのベクトルは、将来のオブジェクトの使用を検索しますか?
West Ham 38 12
Leicester City 38 13
実際のファイルには、より多くの倍音が続いています。
vector<Team>newTeams; //vector of Team objects
string homeName;
cout << "Enter home team name: ";
cin >> homeName;
cout << endl;
Team ht;
for(Team team : newTeams)
{
if(team.getName() == homeTeam)
{
ht = team;
}
}
基本的に私はベクトルを通過し、特定のチーム名を探します。とにかく、以前に私が検索のこの種を使用しました。私がチーム名を見つけたら、私はチームをhtに割り当てました。その後、私はつまり、必要なデータを取得するには、HTを使用します。
ht.getHomeGamesPlayed();
ht.getPoints();
ht.getHomeGoalsScored();
だから、私の質問は:検索のためのより良い方法があります(名前+ doubleのベクトルの使用マップ?):?
map<name, vector<doubles>>;
また、検索の大文字小文字を区別しないようにするにはどうすればよいですか?すなわち、私はLeicester CItyの代わりにleicesterを入力し、Leicester Cityは依然として選択されるでしょうか?
UPD: が、私はそれを考え出したようにあなたが興味があるなら、ここでのコードだようだ:
string homeName;
cout << "Name: " << endl;
cin >> homeName;
Team ht;
for (Team team : dataTable) {
if (strstr(team.getName().c_str(), homeName.c_str()))
{
ht = team;
}
}
私はLeicを入力したとき、私はleic入力するときだから、レスターシティ(ピック、それはdoesnの
無関係、私はあなたがこのコードの複数の場所に意図願っていますどこにコピー割り当てが行われているかを示します。どうやらあなたのクラスはまだ*参考文献*をカバーしていません。 – WhozCraig
小さいオブジェクトをコピーしているときは、コピーの割り当ては一般的に問題ありません....しかし、チームのconstは&よくなるかもしれません... – Exaeta
@WhozCraig私の例でリファレンスを使用する方法を私に示すことができれば、幸せに学ぶ(私は今、クラスを取っていない、これはちょうど楽しみのためです) – illia