gpt4 book ai didi

c++ - 导航控制台菜单

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:57 28 4
gpt4 key购买 nike

我是全新的,我不知道还能怎么问这个问题,甚至不知道要搜索什么。

情况是这样的:我想浏览一个包含多个子菜单的菜单。在这个例子中,我将只使用“选项”和“游戏”来说明我的意思。假设您有一个包含 3 个选项的菜单。

1 - Start

2 - Options

3 - Quit

选择选项应将您带到另一个菜单。然后看起来像

1 - Difficulty

2 - Sound

3 - Back

根据你从这里去的地方,显然会有更多的子菜单。我试过嵌套 do-while 循环和各种各样的事情,但我只是没有足够的理解来知道我做错了什么。

这是我目前所拥有的:

#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 等?还是什么?)

最佳答案

好的伙计们。感谢所有的帮助。这就是我最终得到的结果。它按我想要的方式运行,根据 max_ 的示例和 Mike B 的评论,我认为这非常有效。

非常感谢大家 =)

#include <iostream>
#include <cstdlib>


using namespace std;

void menu();
void mainMenu();
void optionsMenu();
void options();
int choice1 = 0;
int choice2 = 3;

int main(int argc, char** argv) {



menu();



return 0;
}


void menu(){

do {
choice2 = 0;
mainMenu();

switch(choice1) {

case 1:
cout << "Pew pew!\n";
break;

case 2:
options();
break;

case 3:
break;

}

} while(choice1 != 3);


}

void options(void) {

do {
optionsMenu();

switch(choice2){

case 1:
cout << "So difficult!\n";
break;

case 2:
cout << "Beep!\n";
break;

case 3:
break;

default:
break;

}

} while(choice2 != 3);


}




void mainMenu(void) {



cout << "Main Menu\n";
cout << "1 - Start game\n";
cout << "2 - Options\n";
cout << "3 - Quit\n";
cout << "Please choose: ";
cin >> choice1;

}

void optionsMenu(void) {



cout << "Options Menu\n";
cout << "1 - Difficulty\n";
cout << "2 - Sound";
cout << "3 - Back\n";
cout << "Please choose: ";
cin >> choice2;

}

关于c++ - 导航控制台菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16852978/

28 4 0