用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

图书馆

2014-03-29 作者: 云代码会员举报

[c]代码库

void searchbook()//查询函数
{
    FILE *fp;
    int choose;
    int ttid=0,tid=0,tamount=0,n=0,k=0,i,l;
    char tname[20]= {'\0'},ttauthor[20]= {'\0'},tauthor[20]= {'\0'},ttpublishing[20]= {'\0'},tpublishing[20]= {'\0'}, deletebookname[20]= {'\0'};
    if ((fp=fopen("library.txt","r"))==NULL)//打开文件
    {
        system ("cls");
        printf("\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在,请按任意键返回。");
        getch();
        booksystem();
    }
  l=stockcount();//获得库存文件中图书个数    
  choose=searchmenu();
    fflush(stdin);
    while (1)
    {
        switch(choose)//功能函数选择
        {
        case 1:
            system ("cls");
            printf("\n");
            printf("请输入编号:");
            scanf("%d",&ttid);
            break;
        case 2:
            system ("cls");
            printf("\n");
            printf("请输入书名:");
            scanf("%s",deletebookname);
            break;
        case 3:
            system ("cls");
            printf("\n");
            printf("请输入作者:");
            scanf("%s",ttauthor);
            break;
        case 4:
            system ("cls");
            printf("\n");
            printf("请输入出版社:");
            scanf("%s",ttpublishing);
            break;
        case 5:
            booksystem();
            break;
        default:
            printf("您的输入有误,请重新输入。\n");
            getch();
            booksystem();
            break;
        }
        break;
    }
    
    system ("cls");
    for (i=0; i<l; i++)
    {
        fscanf(fp,"%d%s%s%s%d",&tid,tname,tauthor,tpublishing,&tamount);//读文件信息
        if (ttid==tid||!strcmp(deletebookname,tname)||!strcmp(ttauthor,tauthor)||!strcmp(ttpublishing,tpublishing))//输出查询信息
        {
            if (k==0)
            {
                printf("\n查询结果:\n\n");
                printf("编号\t书名\t\t作者\t\t出版社\t\t\t库存量 \n");
            }
            printf("%-7d %-15s %-15s %-23s %-5d \n",tid,tname,tauthor,tpublishing,tamount);
            k++;
        }
    }
    if (k==0)//文件夹为空则输出无记录
    {
        system ("cls");
        printf("\n\n\n\n\t\t\t\t无符合的记录。\n");
        getch();
        booksystem();
    }
    fclose(fp);
    getch();
    booksystem();
}


[源代码打包下载]




网友评论    (发表评论)

共3 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...