图书馆管理系统吧 关注:103贴子:270
  • 8回复贴,共1

谁有用C\C++做的图书馆管理系统~!?

只看楼主收藏回复

求助~~!
    希望有高手能帮小女子~~!非常感激~!
能显示图书种类代号     查找借阅人
插入新书             删除旧书
查找图书             还书
打印图书列表         打印借阅人列表


1楼2007-06-27 11:16回复
    • 222.168.102.*
    用C++编出来的图书馆管理系统的程序


    2楼2008-07-07 08:11
    回复
      2025-12-23 22:30:06
      广告
      不感兴趣
      开通SVIP免广告
      • 58.54.133.*
       puts(str);
       for(i=0;i<N;i++)
       printf("%-4d%-16s%-18s%-12s%-24s%-4d%-8.2f\n",books[i].no,books[i].cla,books[i].name,books[i].author,books[i].press,books[i].num,books[i].price);
      }
       /*按种类排序,采用冒泡排序,升序*/

      void order_press()

       int i,j;
       int no;
       char cla[20];
       char name[50];
       char author[12];
       char press[80];
       int num;
       float price;
       /*变量用来在交换数据存放中间变量的数据*/

       for(j=1;j<N;j++) /*总共的比较趟数N-1趟*/
       for(i=0;i<N-j;i++)
       if(strcmp(books[i].press,books[i+1].press )>0)
       { 
       no=books[i].no ; books[i].no=books[i+1].no ;books[i+1].no=no;
       strcpy(cla,books[i].cla ); strcpy(books[i].cla ,books[i+1].cla );strcpy(books[i+1].cla,cla );
       strcpy(name,books[i].name); strcpy(books[i].name ,books[i+1].name );strcpy(books[i+1].name,name );
       strcpy(author,books[i].author); strcpy(books[i].author ,books[i+1].author );strcpy(books[i+1].author,author);
       strcpy(press,books[i].press); strcpy(books[i].press ,books[i+1].press );strcpy(books[i+1].press,press);
       num=books[i].num; books[i].num=books[i+1].num ;books[i+1].num=num;
       price=books[i].price; books[i].price=books[i+1].price ;books[i+1].price=price;
       } /*相互交换位置*/
       printf("\n*************************排序后的图书信息***************************\n");
       puts(str);
       for(i=0;i<N;i++)
       printf("%-4d%-16s%-18s%-12s%-24s%-4d%-8.2f\n",books[i].no,books[i].cla,books[i].name,books[i].author,books[i].press,books[i].num,books[i].price);
      }
       /* 按出版社排序*/

      void fun2()
      {
       int i;
       loop1:
       printf("\n*******1 按种类排序 2 按出版社排序 3 返回****************\n");
       printf("*********请选择(1~3):");
       scanf("%d",&i);
       switch(i)
       {
      case 1: order_cla();goto loop1;
      case 2: order_press();goto loop1;
      case 3: break;
      default:printf("选择错误,请重新选择!\n");goto loop1;
       }  
      }
       /*功能2:排序*/

      void fun3()
      {
       FILE *fp;
       int i;
       float sum=0;
       if((fp=fopen("d:\\CK0103.txt","w"))==NULL) 
       {
       printf("can not open file");
       exit(0);
       }
       fprintf(fp,"编号 分类  书名 作者 出版社 数量  单价 总价\n");
       for(i=0;i<N;i++)
       {
       books[i].sumprice=books[i].price*books[i].num;
       sum+=books[i].sumprice;
       }

       for(i=0;i<N;i++)
       fprintf(fp,"%-4d%-16s%-18s%-12s%-24s%-4d%-8.2f%-8.2f\n",books[i].no,books[i].cla,books[i].name,books[i].author,books[i].press,books[i].num,books[i].price,books[i].sumprice);
       fprintf(fp,"\t\t\t\t\t\t\t\t总价%8.2f",sum);
       fclose(fp);
       printf("****** 结果已写入CK0103文本文件中!*********\n");

      }
       /*功能3:统计每种书目的总价及所有书目的总价*/

      void fun4()
      {
       int kno[N],knum[N]={0},i,j,t=0,flag[N]={0};
       char kcla[N][20];
       FILE *fp;
       if((fp=fopen("d:\\CK0103.txt","w"))==NULL)
       {
      printf("can not open file");
       exit(0);
       }

       for(i=0;i<N;i++)
       if(flag[i]==0) /*标记为0说明之前没有与该图书类别相同的书目*/
       {
       for(j=0;j<N;j++)
      if(strcmp(books[i].cla,books[j].cla)==0) /*类别相同*/
      {
       knum[t]+=books[j].num; /*累加*/
       flag[j]=1; /*是相同类别的书目做标记为1*/
      }
       kno[t]=t+1;
       strcpy(kcla[t],books[i].cla);
       t++;
      }
       
      fprintf(fp," 编号 出版社 总数量  \n");
      for(i=0;i<t;i++)
      fprintf(fp,"%4d%18s%6d\n",kno[i],kcla[i],knum[i]);
      


      4楼2008-07-08 19:39
      回复
        • 58.54.133.*
        fclose(fp);
        printf("****** 结果已写入CK0103文本文件中!*********\n");
        } /*功能4:统计每种书目的数量*/
         

        void fun5()
        {
         int i;
         char cla[20];
         char name[50];
         char author[12];
         char press[80];
         int num;
         float price;
         printf("请输入要修改图书信息的图书编号(0~N-1):");
         scanf("%d",&i);
         if(i>=0&&i<N)
         {
         printf("\n%-4d%-16s%-18s%-12s%-24s%-4d%-8.2f\n",books[i-1].no,books[i-1].cla,books[i-1].name,books[i-1].author,books[i-1].press,books[i-1].num,books[i-1].price);
        printf("请输入要修改的内容,如果不修改相应信息请输入0\n");
        printf("分类:");
        scanf("%s",cla);
        if(strcmp(cla,"0")!=0)
        strcpy(books[i-1].cla,cla);
         printf("书名:");
        scanf("%s",name);
        if(strcmp(name,"0")!=0)
        strcpy(books[i-1].name,name);
        printf("作者:");
        scanf("%s",author);
        if(strcmp(author,"0")!=0)
        strcpy(books[i-1].author,author);
         printf("出版社:");
        scanf("%s",press);
        if(strcmp(press,"0")!=0)
        strcpy(books[i-1].press,press);
         printf("数量:");
        scanf("%d",&num);
        if(num!=0)
        books[i-1].num=num;
         printf("单价:");
        scanf("%f",&price);
        if(price!=0)
        books[i-1].price=price;
         printf("************************修改后图书信息***************************\n");
         printf("\n%-4d%-16s%-18s%-12s%-24s%-4d%-8.2f\n",books[i-1].no,books[i-1].cla,books[i-1].name,books[i-1].author,books[i-1].press,books[i-1].num,books[i-1].price);
         }
        else printf("您输入的编号超出范围\n");
        }
         /*功能5:修改图书信息*/

         void main()
         { 
         int i; 
         read(); 
         while(1)
         {
         printf(" ************************图书信息管理系统**************\n");
         printf(" **** 1 查询  2 排序****************\n");
         printf(" **** 3 统计图书总价 4 统计数量************\n");
         printf(" **** 5 修改图书信息 0 退出系统************\n");
         printf(" 请选择(0~5):\n");
         printf(" ******************************************************\n");
         scanf("%d",&i);
         switch(i)
         {
        case 1: fun1();break;
        case 2: fun2();break;
        case 3: fun3();break;
        case 4: fun4();break;
        case 5: fun5();break;
        case 0: exit(0);
        default:printf("选择错误,请重新选择!\n");
         }
         }
         }


        5楼2008-07-08 19:39
        收起回复
          • 61.178.64.*
          这是用C做的啊……


          6楼2009-12-11 22:16
          回复
            能不能在给点注释啊= =新手看的不是很明白!!!!
            我最进也在用C些一个图书馆管理系统!!
            想请教一下!!各路高手!!


            IP属地:福建7楼2012-01-02 11:30
            回复
              亲,俺现在也要做图书管理系统了,可不可以把你曾经弄好的图书管理系统发给俺,俺的邮箱是1577493747@QQ.COM


              8楼2014-06-03 21:46
              回复
                楼主还有程序吗


                IP属地:江苏9楼2015-10-22 20:38
                回复