永发信息网

goto switch 实现多级菜单

答案:1  悬赏:10  手机版
解决时间 2021-05-01 06:38


#include<stdio.h>

 

void main()
{
char key1,key2,key3;

Menu1:
printf("欢迎进入驾校管理系统\n");
printf("    c~~~~~~~成绩录入\n");
printf("    r~~~~~~~人员录入\n");
printf("    p~~~~~~~费用交纳\n");
printf("    s~~~~~~~数据查询\n");
printf("    x~~~~~~~退出程序\n");
printf("————请输入一个选项————");

key1=getchar();
getchar();
switch(key1)
    {
    MenuC:
    case 'c':
        printf("欢迎进入成绩录入界面\n\n选择 4 返回主界面:");
        key2=getchar();
        getchar();
        if(key2=='4')
            goto Menu1;
        else
            goto MeunC;
        break;

 

    MenuR:
    case 'r':
        printf("欢迎进入人员录入界面\n\n选择 4 返回主界面:");
        key2=getchar();
        getchar();
        if(key2=='4')
            goto Menu1;
        else
            goto MenuR;
        break;

 

    MenuP:
    case 'p':
        printf("欢迎进入费用交纳界面\n\n选择 4 返回主界面:");
        key2=getchar();
        getchar();
        if(key2=='4')
            goto Menu1;
        else
            goto MenuP;
        break;


    MenuS:
    case 's':
        printf("欢迎进入数据查询界面\n\n");
        printf("******1——成绩查询\n");
        printf("******2——人员查询\n");
        printf("******3——费用查询\n");
        printf("******4——返回主界面\n");
        printf("******请输入查询类型******:");
        key2=getchar();
        getchar();
        switch(key2)
            {
            Menu11:
            case '1':
                printf("成绩查询结果\n\n选择 4 返回上一级:");
                key3=getchar();
                getchar();
                if(key3=='4')
                    goto MenuS;
                else
                    goto Nenu11;
                break;
            Menu12:
            case '2':
                printf("人员查询结果\n\n选择 4 返回上一级:");
                key3=getchar();
                getchar();
                if(key3=='4')
                    goto MenuS;
                else
                    goto Menu12;
                break;
            Menu13:
            case '3':
                printf("费用查询结果\n\n选择 4 返回上一级:");
                key3=getchar();
                getchar();
                if(key3=='4')
                    goto MenuS;
                else
                    goto Menu13;
                break;
            case '4':
                goto Menu1;
            default:
                break;
            }
            break;
    case 'x':
        break;
    default:
        printf("输入错误,请重新选择:\n\n");
        goto Menu1;
        break;
       
    }
}

 

 

 

最佳答案

C语言中已经取消了GOTO语句。不能使用标号。


SWITCH CASE可以实现分级菜单,但CASE中都要带有Break才能终止此分支,否则继续下行。


虽然不能使用GOTO跳转,但你可以使用子函数啊。这个功能很GOTO强大多了。


switch(key1)
    {
    case 'c':


    call  menu1();break;


....


void menu1(){
    printf("欢迎进入成绩录入界面\n\n选择 4 返回主界面:");


....}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求psp电影格式转化器一个
淘宝买个7位无保QQ怎么快速而安全的上2带密保
长途押运和长途司机是一个职业吗?
亡夜和斐还有毁卡哪个更美?求实体书结局?
死灵怎么加点?刷图的
为什么吃像感冒药一类的,脸上会起小痘痘
梦幻诛仙副化生宠多技能,化生上去的技能是不
易家沟脑在什么地方啊,我要过去处理事情
CS1.5多特上下载的硬盘版 怎么买连狙击
我今天登录小熊,怎么跟我说:您被禁止登录,
北京丰台区医院有哪些,北京丰台有哪些重点高
非委缩性慢性胃炎吃什么药好
深圳沙井又没有做电气设备的?
我用网银去买东西、结果付款成功了。对方不发
索爱w715电池充不满电为什么
推荐资讯
谁有后宫动漫啊 要好看的
如果想要学设计方面的,需要选什么学科?
2010年9月高粱价格
有女友好,还是没女友好?
陈翔怎麽会被淘汰呢?不懂…
斯伯丁篮球哪个型号手感好?
为什么我QQ上的图标一直点不亮?
DNF昨天网通都没维护是什么意思类?
哪款游戏好玩,坐骑又好看的?
一个人如何逃避孤独寂寞。
从盛泽怎么去乌镇最快最方便?
安踏圣诞鞋到安踏店都可以买到吗?价格是多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?