Я совершенно новый, и я не знаю, как еще спросить об этом или о том, что даже искать.Навигационное меню консоли
Дело в следующем: я хочу перемещаться по меню с несколькими подменю. В этом примере я просто использую «опции» и «игру», чтобы проиллюстрировать, что я имею в виду. Скажем, у вас есть меню с 3 вариантами.
1 - Начало
2 - Варианты
3 - Выход
варианты Выбор должен принять вас в другое меню. Какой будет выглядеть что-то вроде
1 - Сложность
2 - Sound
3 - назад
В зависимости от того, куда вы идете отсюда, там будет больше подменю, очевидно, , Я пробовал вложенные циклы и всевозможные вещи, но у меня просто недостаточно понимания, чтобы понять, что я делаю неправильно.
Вот то, что я до сих пор:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int choice;
do{
cout << "Main Menu\n";
cout << "Please make your selection\n";
cout << "1 - Start game\n";
cout << "2 - Options\n";
cout << "3 - Quit\n";
cout << "Selection: ";
cin >> choice;
switch(choice) {
case 1:
cout << "Pew pew!\n";
break;
case 2:
cout <<"????\n";
break;
case 3:
cout << "Goodbye!";
break;
default:
cout << "Main Menu\n";
cout << "Please make your selection\n";
cout << "1 - Start game\n";
cout << "2 - Options\n";
cout << "3 - Quit\n";
cout << "Selection: ";
cin >> choice;
}
} while(choice !=3);
system("PAUSE");
return EXIT_SUCCESS;
}
Который работает как обычное меню. Но я понятия не имею, куда идти отсюда. Я консультировался с некоторыми книгами, но найти что-нибудь, даже отдаленно связанное с этим, было совершенно случайным. Любая помощь или примеры были бы весьма признательны.
Что случилось с гнездом тонны петель, только что все циклы выполнялись одновременно каждый раз. Как мне это избежать? Сделать больше вариантов? (выбор1-2-3 и т. д. или что?)
Это создает примерно проблему, которая у меня есть. У вас все работает правильно, за исключением возврата в главное меню. Этого не происходит. – fanatical
Хорошо, я проверил свой код и сделал небольшое улучшение в отношении переменной выбора, которая должна быть объявлена вне цикла do-while (я, соответственно, обновил код в своем сообщении). Но помимо этого незначительного недостатка он отлично работал для меня. –