为什么Login()调用结束后,不能继续循环?(困了我好久好久 不知道怎么改)


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>
void MainMenu();//菜单
void OptionMenu();//输入选择 进入功能区
void Login(Client client[]);//登陆

typedef struct
{
    char name[20];
    char secret[10];
}Client;//用户信息

int main()//主函数
{
    MainMenu();//菜单
    OptionMenu();//输入选择
    return 0;
}

void MainMenu()//菜单
{
    printf("***************************************\n");
    printf("      欢迎进入航班订票系统\n");
    printf("        0.请登录您的账号... \n");
    printf("        1.航班信息浏览        \n");
    printf("        2.航班查询(按航班号)        \n");
    printf("        3.航班订票        \n");
    printf("        4.航班退票        \n");
    printf("        5.退出系统        \n");
    printf("***************************************\n");
}

void OptionMenu()//选择功能
{
    int number1;//表示选择
    Client* user;
    user = (Client*)malloc(sizeof(Client));//动态内存分配

    do
    {
        system("cls");//清屏
        MainMenu();
        printf("请选择...\n");
        scanf("%d", &number1);//输入
        getchar();//吸收换行符

        switch (number1)
        {
            case 0:
                printf("为了您的信息准确、安全,请先登陆...\n");
                Sleep(500);
                Login(user);
                break;//登陆
            case 5:
                printf("      感谢使用航班订票系统,再见!        \n");
                exit(0);
            default:
                printf("您输入不对,只能输入0-5...\n");
                printf("请重新输入...\n");
                Sleep(500);//停留
        }
    } while ((number1 > 5) || (number1 < 0));//结束标志
}

void Login(Client client[])//登陆
{
    printf("请输入您的账号: \n");
    scanf("%s", &client->name);
    printf("请输入您的密码: \n");
    scanf("%s", &client->secret);

    FILE* fp = fopen("B.txt", "a");//定义文件指针

    char clientNam[20] = "\n账号:";//定义账号 密码
    char clientsecret[10] = "\n密码:";

    fputs(clientNam, fp);
    fputs(client->name, fp);

    fputs(clientsecret, fp);
    fputs(client->secret, fp);
    fclose(fp);
    fp = NULL;

    printf("登陆成功!\n");
    
}



#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>
typedef struct
{
    char name[20];
    char secret[10];
}Client;//用户信息

void MainMenu();//菜单
void OptionMenu();//输入选择 进入功能区
void Login(Client client[]);//登陆

int main()//主函数
{
    MainMenu();//菜单
    OptionMenu();//输入选择
    return 0;
}

void MainMenu()//菜单
{
    printf("***************************************\n");
    printf("      欢迎进入航班订票系统\n");
    printf("        0.请登录您的账号... \n");
    printf("        1.航班信息浏览        \n");
    printf("        2.航班查询(按航班号)        \n");
    printf("        3.航班订票        \n");
    printf("        4.航班退票        \n");
    printf("        5.退出系统        \n");
    printf("***************************************\n");
}

void OptionMenu()//选择功能
{
    int number1;//表示选择
    Client* user;
    user = (Client*)malloc(sizeof(Client));//动态内存分配

    do
    {
        system("cls");//清屏
        MainMenu();
        printf("请选择...\n");
        scanf("%d", &number1);//输入
        getchar();//吸收换行符

        switch (number1)
        {
        case 0:
            printf("为了您的信息准确、安全,请先登陆...\n");
            Sleep(500);
            Login(user);
            break;//登陆
        case 5:
            printf("      感谢使用航班订票系统,再见!        \n");
            exit(0);
        default:
            printf("您输入不对,只能输入0-5...\n");
            printf("请重新输入...\n");
            Sleep(500);//停留
        }
    } while ((number1 <= 5) && (number1 >= 0));//结束标志
}

void Login(Client client[])//登陆
{
    printf("请输入您的账号: \n");
    scanf("%s", &client->name);
    printf("请输入您的密码: \n");
    scanf("%s", &client->secret);

    FILE* fp = fopen("B.txt", "a");//定义文件指针

    char clientNam[20] = "\n账号:";//定义账号 密码
    char clientsecret[10] = "\n密码:";

    fputs(clientNam, fp);
    fputs(client->name, fp);

    fputs(clientsecret, fp);
    fputs(client->secret, fp);
    fclose(fp);
    fp = NULL;

    printf("登陆成功!\n");

}