为什么无法执行下一步操作

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int fun()
{
int code;
printf("请输入密码->");
scanf("%d",&code);
if(code==12345)
{
printf("登陆成功\n");
return 1;
}
else
{
printf("密码错误\n");
return -1;
}
}
int Main_XUZE()
{
int select;
system("cls");
printf("1:管理员\n");
printf("2:用户\n");
printf("0:退出\n");
printf("请输入选择:");
scanf("%d",&select);
while(select<0||select>2)
{
printf("选择错误,重新输入:");
scanf("%d",&select);
}
return select;
}
int main()
{
int select1,flag1=-1;
do
{ flag1=-1;
select1=Main_XUZE();
switch(select1)
{
case 0:printf("退出系统");break;
case 1:
flag1=fun();
break;
case 2:
printf("欢迎进入本系统");
break;
}
if(flag1!=-1)//管理员进入成功
{ system("cls");
printf("欢迎来到快递包裹管理系统\n");
}
}while(select1!=0);
return 0;
}

登录后没有break


#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int fun()
{
    int code;
    printf("请输入密码->");
    scanf("%d",&code);
    if(code==12345)
    {
        printf("登陆成功\n");
        return 1;
    }
    else
    {
        printf("密码错误\n");
        return -1;
    }
}
int Main_XUZE()
{
    int select;
    system("cls");
    printf("1:管理员\n");
    printf("2:用户\n");
    printf("0:退出\n");
    printf("请输入选择:");
    scanf("%d",&select);
    while(select<0||select>2)
    {
        printf("选择错误,重新输入:");
        scanf("%d",&select);
    }
    return select;
}
int main()
{
    int select1,flag1=-1;
    do
    {   flag1=-1;
        select1=Main_XUZE();
        switch(select1)
        {
        case 0:
            printf("退出系统");
            break;
        case 1:
            flag1=fun();
            break;
        case 2:
            printf("欢迎进入本系统");
            break;
         default:
            break;
        }
        if(flag1!=-1)//管理员进入成功
        {   system("cls");
            printf("欢迎来到快递包裹管理系统\n");
            break;
        }
    } while(select1!=0);
    return 0;
}

你下一步没有内容,输入选择后就结束操作,执行重新输入了呀

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
int fun()
{
    int code;
    printf("请输入密码->");
    scanf("%d", &code);
    if (code == 12345)
    {
        printf("登陆成功\n");
        return 1;
    }
    else
    {
        printf("密码错误\n");
        return -1;
    }
}
int Main_XUZE()
{
    int select;
    system("cls");
    printf("1:管理员\n");
    printf("2:用户\n");
    printf("0:退出\n");
    printf("请输入选择:");
    scanf("%d", &select);
    while (select < 0 || select>2)
    {
        printf("选择错误,重新输入:");
        scanf("%d", &select);
    }
    return select;
}
int main()
{
    int select1, flag1 = -1;
    do
    {
        flag1 = -1;
        select1 = Main_XUZE();
        switch (select1)
        {
        case 0:printf("退出系统"); break;
        case 1:
            flag1 = fun();
            break;
        case 2:
            printf("欢迎进入本系统");
            flag1 = 1;
            break;
        }
        if (flag1 != -1)//管理员进入成功
        {
            system("cls");
            printf("欢迎来到快递包裹管理系统\n");
            break;
        }
    } while (select1 != 0);
    return 0;
}