C如何添加一个上级菜单(标签-C语言)

Dev C语言如何添加一个上级菜单

img

我想要达到的结果

img

想要建立一个上级菜单,将系统分为学生和教师两部分,学校带着做了上面的教师管理系统。

思路比较简单:
1、定义三个菜单函数,用于打印主菜单,学生端菜单,教师端菜单。
2、main函数询问三个菜单的选择,这里可以只询问一次主菜单,用一个if-else if实现,学生端和教师端菜单的询问和执行在一个while循环多次执行。
代码如下:


#include <stdio.h>

void mainMenu(void){
    
    printf("%20s\n\n","主菜单");
    printf("1.学生查询系统    2.教师管理系统\n");
    printf("\n请输入序号以选择系统:"); 
}

void stuMenu(void){
    
    printf("****************************主菜单*********************************\n");
    printf("*                                                                 *\n");
    printf("*       1、创建学生数据                    2、查询学生数据        *\n");
    printf("*       3、更新学生数据                    4、排序学生数据        *\n");
    printf("*       5、统计学生数据                    6、保存学生数据        *\n");
    printf("*       7、输出学生数据                    8、退出管理系统        *\n");
    printf("*                                                                 *\n");
    printf("*******************************************************************\n");
    printf("请输入你的选择:");
}

void teaMenu(void){
    
    printf("****************************主菜单*********************************\n");
    printf("*                                                                 *\n");
    printf("*       1、管理学生数据                    2、退出管理系统        *\n");
    printf("*                                                                 *\n");
    printf("*******************************************************************\n");
    printf("请输入你的选择:");
}

int main(void){
    
    mainMenu();
    
    int choice;
    
    scanf("%d",&choice);
    
    if(choice==1){
        stuMenu();
        scanf("%d",&choice);
        while(choice!=8){
            switch(choice){
            case 1:printf("创建学生数据\n");break;
            case 2:printf("查询学生数据\n");break;
            case 3:printf("更新学生数据\n");break;
            case 4:printf("排序学生数据\n");break;
            case 5:printf("统计学生数据\n");break;
            case 6:printf("保存学生数据\n");break;
            case 7:printf("输出学生数据\n");break;
            default:printf("输入选项错误,请输入1到8之间的数字。\n"); 
            }
            stuMenu();
            scanf("%d",&choice);
        }
        
    }else if(choice==2){
        teaMenu();
        scanf("%d",&choice);
        while(choice!=2){
            switch(choice){
            case 1:printf("管理学生数据\n");break;
            default:printf("输入选项错误,请输入1到2之间的数字。\n"); 
            }
            teaMenu();
            scanf("%d",&choice);
        }
    }
    
    printf("退出系统!\n");
    
    
    return 0;
} 

img