gpt4 book ai didi

c - 函数A调用了函数A?

转载 作者:太空宇宙 更新时间:2023-11-04 08:29:49 25 4
gpt4 key购买 nike

我在编程方面仍然是个新手,但我正在尝试制作一个比平常稍大且包含更多功能的程序。我想制作一个可重复的“主菜单”(您可以从中访问程序的其余功能),但是当我再次尝试调用该功能时,什么也没有发生。它看起来像这样:

void mainMenu()
{
//clear console screen
//menu of the program
//i.e "Press 1 to choose something
//console screen is cleared again, then new options appear
//"Press E to go back to main menu"

unsigned char v;
v = getch();
if (v == 'E')
mainMenu();
}

我做错了什么?不应该再次调用 mainMenu()、清除屏幕等吗?我想我可以从函数中返回一些东西,这会导致程序再次调用 mainMenu()(例如,将 mainMenu() 更改为 int),但必须有一些解决方法,我没有找到。

最佳答案

你也必须添加一个退出循环的选项!

void mainMenu()
{
system( "cls" );
cout << "1. blah1\n2. blah2\n3. blah3\n4. Main menu\nE. Exit\n\n";
unsigned char v = getch();

if ( v == '1' )
{
cout << "blah1\n";
// Call procedure for blah1
}
else if ( v == '2' )
{
cout << "blah2\n";
// Call procedure for blah2
}
else if ( v == '3' )
{
cout << "blah3\n";
// Call procedure for blah3
}
else if ( v == '4' )
{
mainMenu();
}
if ( v == 'E' )
{
return;
}
}

int main()
{
mainMenu();
}

关于c - 函数A调用了函数A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com