⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 课程设计报告.txt

📁 一个图书管理系统
💻 TXT
📖 第 1 页 / 共 3 页
字号:
 {printf("进行何种操作?1.新书入库2.旧书删除3.查询库内图书\n");
  scanf("%d",&v);
  if(v==1)
  {printf("是否进行新书入库操作?1.是2.否\n");
   scanf("%d",&w);
   if(w==1)
   {do
    {book=(struct booktype *)malloc(LEN);
     printf("请输入新书数据:\n");
     printf("请输入书号:");
     scanf("%d",&book->booknumber);
     printf("请输入书名:");
     scanf("%s",&book->bookname);
     printf("请输入作者:");
     scanf("%s",&book->auther);
     printf("请输入出版单位:");
     scanf("%s",&book->press);
     printf("请输入图书价格:");
     scanf("%d",&book->price);
     printf("请输入页数:");
     scanf("%d",&book->pagenumber);
     head=insert(head,book);
     print(head);
     printf("是否继续进行新书入库操作?1.是2.否\n");
     scanf("%d",&x);
    }while(x==1);
   }
  }
  else
  {if (v==2)
   {printf("是否进行删除操作?1.是2.否\n");
    scanf("%d",&y);
    if(y==1)
    {do
     {printf("请输入要删除的书号:\n");
      scanf("%ld",&del_num);
      head=del(head,del_num);
      print(head);
      printf("是否继续进行删除操作?1.是2.否\n");
      scanf("%d",&z);
     }while(z==1);
    }
   }
  else
  {printf("库内图书资料:\n");
   print(head);
   printf("库内图书数目为:%d\n",m);
  }
 }
 printf("是否继续进行书库管理操作?1.是2.否\n");
 scanf("%d",&u);
 }while(u==1);
 return(head);
}
/************************************************************************************/
/************************************************************************************/
void look_for_name ()
   { struct booktype *head,*p;
    int i,n=1,e;
     do
     {char borrow_name[20];
      printf ("请输入您想要查找的书名,按回车结束.");
      scanf ("%s",borrow_name);
	 p=head;
	 if (!head)
           {do
	    { if (0==strcmp (p->bookname,borrow_name))
	     { i=1;
	       printf ("该书的书号为:%d\n",p->booknumber);
	       printf ("该书的书名为:%s\n",p->bookname[20]);
	       printf ("该书出版单位为:%s\n",p->press[50]);
	       printf ("该书作者为:%s\n",p->auther[20]);
	       printf ("该书页数为:%d\n",p->pagenumber);
	       printf ("该书定价为:%d\n",p->price);
               printf ("该书当前册数为:%d\n",p->nownumber);
                   if (p->nownumber!=0)
		    printf ("本书已被借出,借书者证号为:%d",p->borrowernum);
	           else printf ("本书未被借出.\n");

	     }
	    p=p->next;
	    }while(!p);
         }
         else printf ("对不起,库内没有图书!\n");
         if (i!=1)
         printf ("对不起,没有您要查找的图书.\n");
        printf("是否继续进行查找操作?1、是,2、否\n");
        scanf("%d",&e);
     }while(e==1);
   }
 void look_for_writer ()
   { struct booktype *head,*p;
     int e,i,n=1;
     char borrow_writer[16];
      do
      {printf ("请输入您想要查找的书的作者,按回车结束.\n");
       scanf ("%s",borrow_writer[16]);
	  p=head;
	  if (!head)
           {do
	    {if(0==strcmp (p->auther[20],borrow_writer[16]))
	      {i=1;
	       printf ("该书的书号为:%d\n",p->booknumber);
	       printf ("该书的书名为:%s\n",p->bookname[20]);
	       printf ("该书出版单位为:%s\n",p->press[50]);
	       printf ("该书作者为:%s\n",p->auther[20]);
	       printf ("该书页数为:%d\n",p->pagenumber);
	       printf ("该书定价为:%d\n",p->price);
           printf ("该书当前册数为:%d\n",p->nownumber);
                   if (p->nownumber!=0)
		    printf ("本书已被借出,借书者证号为:%d",p->borrowernum);
		   else printf ("本书未被借出.\n");
	     }
	    p=p->next;
	   }while(!p);
          }
         else printf ("对不起,库内没有图书!\n");
         if (i!=1)
	  printf ("对不起,没有您要查找的图书.\n");
       printf("是否继续进行查找操作?1、是,2、否\n");
       scanf("%d",&e);
     }while(e==1);
   }
 void look_for_press()
 { int i=0,e;
   struct booktype *head, *p;
   char borrow_press[40];
   do
   {printf ("请输入您想要查找的书的出版单位,按回车结束.\n");
       scanf ("%s",borrow_press);
	   p=head;
	   if (!head)
	   { do
	    { if (0==strcmp (p->press,borrow_press))
	       {i=1;
		printf ("该书的书号为:%d\n",p->booknumber);
	       printf ("该书的书名为:%s\n",p->bookname[20]);
	       printf ("该书出版单位为:%s\n",p->press[50]);
	       printf ("该书作者为:%s\n",p->auther[20]);
	       printf ("该书页数为:%d\n",p->pagenumber);
	       printf ("该书定价为:%d\n",p->price);
           printf ("该书当前册数为:%d\n",p->nownumber);
                   if (p->nownumber!=0)
		    printf ("本书已被借出,借书者证号为:%d",p->borrowernum);
		   else printf ("本书未被借出.\n");
		}
	   p=p->next;
	   }while(!p);
          }
          else printf ("对不起,库内没有图书!\n");
       if (i!=1)
	 printf ("对不起,没有您要查找的图书.\n");
       printf("是否继续进行查找操作?1、是,2、否\n");
        scanf("%d",&e);
     }while(e==1);
 }
void look_for_number()
     { int i,e;
       struct booktype *head,*p;
       int borrow_nomber;
       do
       {printf ("请输入您要查找的书的书号,按回车结束.\n");
        scanf ("%d",&borrow_nomber);
	   p=head;
	   if (!head)
	   {do
	    { if (p->booknumber==borrow_nomber)
	      { i=1;
	       printf ("该书的书号为:%d\n",p->booknumber);
	       printf ("该书的书名为:%s\n",p->bookname[20]);
	       printf ("该书出版单位为:%s\n",p->press[50]);
	       printf ("该书作者为:%s\n",p->auther[20]);
	       printf ("该书页数为:%d\n",p->pagenumber);
	       printf ("该书定价为:%d\n",p->price);
               printf ("该书当前册数为:%d\n",p->nownumber);
                   if (p->nownumber!=0)
		    printf ("本书已被借出,借书者证号为:%d",p->borrowernum);
		   else printf ("本书未被借出.\n");
	      }
	      p=p->next;
	    }while(!p);
	   }
           else printf ("对不起,库内没有图书!\n");
	  if (i!=1)
	    printf ("对不起,没有您要查找的图书.\n");
         printf("是否继续进行查找操作?1、是,2、否\n");
        scanf("%d",&e);
       }while(e==1);
     }
   void look_for_borrower ()
	{void look_card_num ();
	 void look_card_name ();
	  char borrower_name[20];
	  int n,d,e;
          do
	  {printf ("请您选择您要查找的方式:1,按借书者的卡号\n;2按借书者的名字;\n;3:退出\n");
           scanf ("%d",&n);
           if (n==1)
	     look_card_num ();
             else if (n==2)
		    look_card_name ();
                    else if (n==3)
                         exit (0);
          printf("是否继续进行查找操作?1、是,2、否\n");
          scanf("%d",&e);
         }while(e==1);
	}
       void look_card_num ()
	 { struct booktype *head, *p;
	   struct borrowertype *card,*hed;
	   int m,e;
           do
           {printf ("请输入您要查找的卡的卡号.\n");
	    scanf ("%d",&m);
		card=hed;
		if (!hed)
		{do
		 { if (card->cardnumber==m)
		  { printf ("此卡卡号为:%d\n",card->cardnumber);
		   printf ("此卡持有者的姓名为:%s\n",card->name[20]);
                   printf ("此卡持有者的性别为:%s\n",card->sex[10]);
                   printf ("此卡持有者的联系电话为:%d\n",card->tel[10]);
                   printf ("此卡持有者的工作单位为:%d\n",card->unit[80]);
                   p=head;
	           if (!head)
		   {do
		     { if (card->cardnumber==p->borrowernum)
		      {printf ("此卡已经借阅了图书\n");
		       printf ("该书的书号为:%d\n",p->booknumber);
	               printf ("该书的书名为:%s\n",p->bookname[20]);
	               printf ("该书出版单位为:%s\n",p->press[50]);
	               printf ("该书作者为:%s\n",p->auther[20]);
	               printf ("该书页数为:%d\n",p->pagenumber);
	               printf ("该书定价为:%d\n",p->price);
                       printf ("该书当前册数为:%d\n",p->nownumber);
		      }
		     p=p->next;
		    }while(!p);
		   }
                    printf ("此卡不存在.");
		  card=card->new;}
	 else printf ("此卡号不存在.\n");
                 }while(!card);
	      printf("是否继续进行查找操作?1、是,2、否\n");
              scanf("%d",&e);
             }
            }while(e==1);
         }
  void look_card_name ()
	 {int e;
	  struct booktype *p,*head;
          struct borrowertype *card,*had;
	  char borrower_name[16];
          do
          {printf ("请输入您要查找的卡的所有者的姓名.\n");
	   scanf ("%s",borrower_name[16]);
	       card=had;
	       if (!had)
		{do
		 { if (0==strcmp (card->name,borrower_name[16]))
		  { printf ("此卡卡号为:%d\n",card->cardnumber);
		    printf ("此卡持有者的姓名为:%s\n",card->name[20]);
                    printf ("此卡持有者的性别为:%s\n",card->sex[10]);
                    printf ("此卡持有者的联系电话为:%d\n",card->tel[10]);
                    printf ("此卡持有者的工作单位为:%d\n",card->unit[80]);
                    p=head;
		    if (!head)
		     {do
		      {if (card->cardnumber==p->borrowernum)
		       {printf ("此卡已经借阅了图书\n");
		        printf ("该书的书号为:%d\n",p->booknumber);
	                printf ("该书的书名为:%s\n",p->bookname[20]);
	                printf ("该书出版单位为:%s\n",p->press[50]);
	                printf ("该书作者为:%s\n",p->auther[20]);
	                printf ("该书页数为:%d\n",p->pagenumber);
	                printf ("该书定价为:%d\n",p->price);
                        printf ("该书当前册数为:%d\n",p->nownumber);
		       }
	              p=p->next;
		     }while(!p);
		    }
		   }
		card=card->new;
	       }while(!card);
	 }
	printf("是否继续进行查找操作?1、是,2、否\n");
	scanf("%d",&e);
      }while(e==1);
  }
void look_for_word()
	 { int a,j,m,i,n=1,e;
	   struct booktype *p;
	   struct booktype *head;
	   char word[20];
           do
           {printf ("请输入书名关键字,按回车结束.\n");
            scanf ("%s",word[20]);
	     a=0;
             do
             { a=a+1;
	     }
	     while (!word[a]);
	     p=head;
	     if (!head)
	     do
	      {for (j=1;!p->bookname[j];j++)
		{if (p->bookname[j]==word[1])
                   m=1;
                  do
                   { m++;
                   }
		  while (m<=a && p->bookname[j+m]==word[1+m]);
                  i=1;
	       printf ("该书的书号为:%d\n",p->booknumber);
	       printf ("该书的书名为:%s\n",p->bookname[20]);
	       printf ("该书出版单位为:%s\n",p->press[50]);
	       printf ("该书作者为:%s\n",p->auther[20]);
	       printf ("该书页数为:%d\n",p->pagenumber);
	       printf ("该书定价为:%d\n",p->price);
               printf ("该书当前册数为:%d\n",p->nownumber);
                   if (p->nownumber!=0)
		    printf ("本书已被借出,借书者证号为:%d",p->borrowernum);
		    else printf ("本书未被借出.\n");
		}
	      p=p->next;
	     }while (!p);
       printf ("对不起,没有您要查找的图书.");
      printf("是否继续进行查找操作?1、是,2、否\n");
        scanf("%d",&e);
       }while(e==1);}
search()
{ int b,j;
 do
 { printf ("请选择你要查找的方式:\n 1,按书名查找;\n 2,按作者查找;\n 3,按出版单位查找;\n 4,按借阅者查找;\n 5,自定意查找.\n 6,退出\n");
   scanf("%d",&j);
    if (j==1)
       look_for_name ();
       else if (j==2)
            look_for_writer ();
	     else if (j==3)
                 look_for_press ();
                 else if (j==4)
                      look_for_borrower ();
		      else if (j==5)
                           look_for_word ();
                           else if (j==6)
			       end:;
  printf("是否继续进行查找操作?1、是,2、否\n");
  scanf("%d",&b);
 }while(b==1);
}
/************************************************************************************/
lendbook()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -