私が作成しているC++アプリケーションでは、お気に入りのゲームをリストに追加したり削除したりすることができます。私のお気に入りのリストを作成する
リストを注文したいと思います。
- 私は初心者ですゼルダの伝説
- コントラ
- GTA V私はしかし、私は、ベクター(複数可)を使用しています、forループ/しばらく使用する必要があります知っている
私のコードでwhile/forループをどこに置くべきかはわかりません。私がこれまで試してみました何
は次のとおりです。
失敗した1 - ループの入れ子になった:
for (gameInter = list.begin(); gameInter != list.end(); gameInter++) {
for (int listNum = 1; listNum < list.size(); listNum++) {
cout << listNum << ". " << *gameInter << endl;
}
}
失敗した2 - A whileループ:
case 1:
while(listNum < list.size()) {
cout << "Type the game title to add: \n";
cin.get();
getline(cin, addGame);
list.push_back(addGame);
sort(list.begin(), list.end());
cin.clear();
cin.sync();
cout << "\nYour game was successfully added.\n";
listNum++;
}
break;
完全なコード:
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int main()
{
int userSelection = 0;
int listNum = 1;
string addGame, removeGame;
vector<string> list;
vector<string>::iterator gameInter;
while (userSelection != 4) {
cout << "Type 1 to add a game to your list\n";
cout << "Type 2 to remove a game from your list\n";
cout << "Type 3 to list all games\n";
cout << "Type 4 to quit\n";
cin >> userSelection;
switch (userSelection) {
case 1:
cout << "Type the game title to add: \n";
cin.get();
getline(cin, addGame);
list.push_back(addGame);
sort(list.begin(), list.end());
cin.clear();
cin.sync();
cout << "\nYour game was successfully added.\n";
break;
case 2:
cout << "Type the game title to remove: \n";
cin.get();
getline(cin, removeGame);
gameInter = find(list.begin(), list.end(), removeGame);
if (*gameInter == removeGame) {
cout << "Title " << removeGame << " found\n";
list.erase(gameInter);
cout << "Title " << removeGame << " has been removed!\n";
}
else
{
cout << "Title " << removeGame << " cannot be found!\n";
}
break;
case 3:
cout << "\nYour Favorite Games Are: \n";
for (gameInter = list.begin(); gameInter != list.end(); gameInter++) {
cout << listNum << ". " << *gameInter << endl;
}
break;
case 4:
cout << "Thank You for your input! Goodbye\n";
//userSelection = 4;
break;
default:
cout << "That is not a valid option\n";
break;
}
}
system("pause");
return false;
}
1)これは、グローバルスコープで 'using namespace std'を使うべきではない理由です:' vector list; '。私。変数にSTL型を指定しないでください。 2)遭遇するエラーは何ですか? –
ダウン投票:コメントしてください! –
コメント#1、 "失敗した試行" - _what_が失敗しましたか? 「それは機能していません」と言うだけで問題の説明がない解決策を期待することはできません。そのアプローチの人気は私を驚かせることを止めることは決してありません:人々はそれがどのように働くと思いますか?とにかく、 'std :: set>'のように、stdlibが正確にこのようなケースのための素晴らしい機能を提供するときには、これは 'pair :: first'のランクに従って自動的に順序付けされます(もしあれば、' pair :: second'の中に名前があります)。 –