📄 课程设计报告.txt
字号:
{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 + -