📄 search.cpp
字号:
#include"stdio.h"
#include"iostream.h"
#include"string.h"
#include"book_struct.h"
#include"iostream.h"
int KMP(char main[],char child[]);//模式匹配
int printf_book(bomas p)//将p指向的记录图书的结点结点的信息打印出来
{
if(p!=NULL)
{
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl;
cout<<" 书名:"<<p->book_name<<endl;
cout<<" 作者:"<<p->author<<endl;
cout<<" 价格:"<<p->price<<" RMB"<<endl;
cout<<" 页数:"<<p->page<<"页"<<endl;
cout<<" 书号:"<<p->book_number<<endl;
cout<<" 出版社:"<<p->book_concern<<endl;
cout<<" 出版年份:"<<p->date<<endl;
cout<<" 是否借出:"<<p->remark<<endl;
cout<<" ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl<<endl;
return 1;
}
else
return 0;
}
void search_book_name(bomas B,char bookname[])//按图书名查找图书
{
bomas p;
int flag=0;
p=B->next;
while(p!=NULL)
{
if(KMP(p->book_name,bookname)==1)//将符合要求的图书信息输出
{
printf_book(p);
flag=1;
}
p=p->next;
}
if(!flag)
cout<<" 没有要找的图书的信息!"<<endl;
}
void search_book_author(bomas B,char author[])//按图书作者查找图书
{
bomas p;
int flag=0;
p=B->next;
while(p!=NULL)
{
if(KMP(p->author,author)==1)//找到作者名与输入的作者名相同的图书
{
printf_book(p);
flag=1;
}
p=p->next;
}
if(!flag)
cout<<" 找不到该作者的有关图书!"<<endl;
}
int search_book_number(bomas B,double book_number,bomas &p1)//按图书编号查找图书,并记录该图书的地址
{
bomas p;
p=B->next;
if(book_number==0)
{
cout<<" 没有该图书的信息!"<<endl;
return 0;
}
while(p!=NULL)
{
if(p->book_number==book_number)//找到编号与输入的编号相同的图书
{
printf_book(p);
p1=p;
return 1;
}
p=p->next;
}
if(p==NULL)
{
cout<<" 没有该图书的信息!"<<endl;
return 0;
}
}
void search_book_userID(bomas B,long ID)//查找记录的UserID与所给ID相同的所有图书信息
{
int flag=0;
bomas p;
p=B->next;
while(p!=NULL)
{
if(p->UserID==ID)//找到图书的借阅用户编号与输入的编号相同的图书
{
flag=printf_book(p);
}
p=p->next;
}
if(!flag)
cout<<" 该用户没有借阅任何图书!"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -