Конечно, вы можете писать рекурсивно (напрямую вызывая menuX()
из каждого выбора), но это плохая практика из-за слишком многих причин.
Лучше заставить каждую функцию возвращать выбранную опцию и добавить бесконечный l oop в основном коде:
void mainmenu(){
//some code
if (a==1){return 2;}
}
void menu2(){
//some code
if (b==1){return 3;}
}
void menu3(){
//some code
if (c==1) {return 0;}
}
int main(){
int menu = 0;
while (true) {
if (menu == 0) { menu = mainmenu(); }
else if (menu == 1) { menu = menu1(); }
...
}
}