这段程序可以怎么修改

void WriteToFile()
{
FILE *fp = NULL;
book stu;
char flag = 'y';
fp = fopen("book1.dat", "ab+");//打开文件

if (fp == NULL)
{
    printf("文件打开失败!\n");
    exit(1);//1表示在有错的方式退出程序
}

while ((flag == 'y' || flag == 'Y'))
{
    system("cls");
    Menu1();

    printf("请输入图书id:");
    scanf("%s", stu.id);

    printf("请输入书名:");
    scanf("%s", stu.name);

    printf("请输入书籍作者:");
    scanf("%s", &stu.author);

    printf("请输入出版社:");
    scanf("%s", &stu.publish);

    printf("请输入价格:");
    scanf("%lf", &stu.price);


    fwrite(&stu, LEN, 1, fp);
    fflush(stdin);

    printf("继续输入吗?继续请输入Y或y:");
    getchar();
    scanf("%c", &flag);
}

fclose(fp);//关闭文件
return;

}//图书添加的函数

getchar();
scanf("%c", &flag);
这里的getchar()不能要,上面已经清空输入缓冲区了

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632