m0_67828940 2022-12-20 21:15 采纳率: 20%
浏览 36

数据结构子系统 switch不会写了

第一个case1还没执行完就到case2中去了困惑
源代码太长了 上传不来

c++

switch(c){
        while(1)
          {            
            case 1:
                {
                    menu_1();
                    scanf("%d",&c1);    
                    system("cls");
                    switch (c1)
                    {
                        case 1:
                            {
                            ElemType a[]={1,2,3,4,5,6,7,8};    
                            Create(sql,a,8);
                            break;                                
                            }
                        case 2:
                            {
                            ElemType x ;
                            int y;
                            printf("请输入要插入的元素及其位置(中间用空格隔开):\n");
                            scanf("%d%d",&x,&y);
                            Insert(sql , x , y);                                
                            }break;
                        case 3:
                            {
                            Delete(sql );        
                            }break;
                        case 4:
                            {
                            Output(sql);        
                            }break;
                        case 0:
                            {
                                
                            }break;
                    }
            case 2:
                {
                menu_2();
                scanf("%d",&c2);
                system("cls");
                if(c2==0);
                {
                menu();    
                }    
                break;    
                }
            case 3:
                {
                    menu_1();
                    scanf("%d",&c3);
                    system("cls");
                    if(c3==0);
                    {
                    menu();    
                    }
                    break;
                }
            case 4:
                {
                    menu_4();
                    scanf("%d",&c4);
                    system("cls");
                    if(c4==0);
                    {
                    menu();    
                    }
                    break;
                }
            case 5:
                {
                    menu_5();
                    scanf("%d",&c5);
                    system("cls");
                    if(c5==0);
                    {
                    menu();    
                    }
                    break;
                }
            case 6:
                {
                    menu_6();
                    scanf("%d",&c6);
                    system("cls");
                    if(c6=1)
                    {
                    if(InitList(T)&&CreatList(T))
                    {
                        printf("创建成功\n");
                    }                        
                    printf("请输入要查找的关键字:\n");
                    scanf("%d",&key);
                    result=search1(T,key);
                    Show(result,key);
                    system("cls");
                     } 
                    if(c6=2)
                    {
                    if(InitList(T)&&CreatList(T))
                    {
                        printf("创建成功\n");
                    }                        
                    printf("请输入要查找的关键字:\n");
                    scanf("%d",&key);
                    result=search2( T, key, 1, T.length);
                    Show(result,key);                        
                    }
                    if(c6==0);
                    {
                    menu();    
                    }
                    break;
                }
            case 7:
                {
                    menu_7();    
                    scanf("%d",&c7);
                    system("cls");
                    if(c7==0);
                    {
                    menu();    
                    }
                    break;
                }
            case 0:
                {
                    printf("已退出系统!\n");
                }
                break;                
            }
    
     }
  • 写回答

1条回答 默认 最新

  • 於黾 2022-12-21 08:38
    关注

    你所有的case都不写break,这是什么写法
    还有,while怎么能写在switch里面,好好粘代码,不要胡搞乱搞
    源代码太长,你可以将其它case里的内容封装一下,以函数的方式调用,然后函数分别发出来,这样你自己也便于调试
    不要一个函数里写好几百行的长代码

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月20日

悬赏问题

  • ¥60 iinfercnv 肿瘤进化树
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf