写信息不进去文件???

int input()
{

int i=1,b=1,k=1,a;
while(i==b)
{
    printf("请输入图书编号:");
    scanf("%s",&bo[k].num);
    printf("\n请输入图书名称:");
    scanf("%s",&bo[k].name);
    printf("\n请输入图书价格:");
    scanf("%s",&bo[k].price);
    printf("\n请输入出版时间:");
    scanf("%s",&bo[k].time);
    printf("\n请输入出版社:");
    scanf("%s",&bo[k].pub);
    printf("\n请输入库存:");
    scanf("%s",&bo[k].many);
    k++;
      fprintf(fp,"%s %s %s %s %s %s",bo[k].num,bo[k].name,bo[k].price,bo[k].time,bo[k].pub,bo[k].many);
    printf("是否继续输入1/0:");
    scanf("%d",&b);
    if(b==0)
    {
    printf("是否返回上一界面1/0:");
    scanf("%d",&a);
    }

}
if(a=1)
{
int ent();
}
}

void main()
{
FILE *fp;
int a,i=1,c=0,b=1;
fp=fopen("tushu.txt","w");
while(1)
{
printf("\n\n ****************\n");
printf(" * 图书管理系统 *\n");
printf(" ****************\n\n");
printf(" ·图书信息展示 1\n");
printf(" ·图书信息录入 2\n");
printf(" ·图书信息删除 3\n");
printf(" ·图书信息修改 4\n");
printf(" ·图书查询 5\n");
printf(" ·图书信息借阅 6\n");
printf(" ·图书信息归还 7\n");
printf(" ·退出 8\n\n");
printf(" 请输入您的选择:");
0419scanf("%d",&a);
switch(a)
{
case 1:
show();break;
case 2:
input();break;
case 3:break;
case 4:break;
case 5:break;
case 6:break;
case 7:break;
case 8:
printf("\n 谢谢使用!\n");
fclose(fp);
exit(0);

}
}

}

你这编译能过吗?FILE *fp是main函数里定义的,input函数里直接fprintf(fp,...),这里的fp是啥?
你把FILE *fp做成全局变量吧。不然input里根本不认识这个main里的文件指针啊