发布时间 : 星期日 文章广义表的应用更新完毕开始阅读
cout<<\==========\
(4)借书信息
int BorrowInfo(MemberList &L) {
Member *p;
int j,flag=0,max,k=0; long n;
Search_AllM(L);
cout<<\输入要查询的会员编号:\ cin>>n;
for(p=L;p!=NULL;p=p->next) {
if(p->num==n&&p->yes==1) {
cout<<\借书详细情况:\
cout<<\==========\
for(j=1;j<=max;j++) {
if(p->t[j].num!=0) {
k++;
if(flag==0)
五、程序代码
#include
#define MAX 10//会员最大借阅量 using namespace std;
typedef struct book //书的结构体 {
int membernum; //借书人编号
}
return 1; }
cout<<\本数\编号\借书时间\
cout< cout<<\==========\ } else if(p->num==n&&p->yes==0) { cout<<\无借书记录!\ cout<<\==========\ } } return 1; } char name[80]; //图书名 long num; //图书编号 int yes; //判断书是否存在或者已经借出,1存在,0借出 struct book *next; /结点指针 }Book,*BookList; typedef struct BorrowBook//会员借的书的结构体 { long num;//借的书的编号 }BBook; 19 typedef struct member//会员的结构体 { char name[20]; //会员姓名 char sex; //会员性别,男M,女F long num; //会员编号 int max; //会员借书数目,初始为0 int yes; //会员是否借书,1是,0否 BBook t[MAX]; //会员借的书的数组 struct member *next; //结点指针 }Member,*MemberList; //查询图书 int Search_BookName(BookList &H) //按书名查询 { Book *p; p=H->next; char n[80]; int flag=0; cout<<\输入要查询的书名:\ cin>>n; for(;p!=NULL;p=p->next) { if(strcmp(p->name,n)==0) { if(flag==0) cout< cout< if(p->yes==1) cout< else cout< flag=1; continue; } } cout<<\==========\ if(p==NULL&&flag==0) { cout<<\没有相关信息!\ cout<<\==========\ } return 1; } //增加图书 Book *Init_B() //初试化图书链表 { Book *H; H=(Book *)malloc(sizeof(Book)); if(!H) exit(1); H->next=NULL; return H; } int BookAdd(BookList &H) //建立一个带头结点的链表用来存储图书信息 { int i=0; //统计要增加的图书量 Book *p,*q; p=(Book *)malloc(sizeof(Book)); if(!p) exit(1); if(H->next==NULL) { cout<<\输入图书编号:\ cin>>p->num; if(p->num==0) //退出\增加图书\ { cout<<\共计\本图书入库!\ cout<<\ 20 ==========\ return 1; } cout<<\输入书名:\ cin>>p->name; p->yes=1; //1表示没有借出 p->next=NULL; H->next=p; q=p; ++i; cout< q=H; while(q->next!=NULL) q=q->next; p->num=1; //进入循环的条件 p->next=NULL; } while(p->num!=0) //以图书编号作为判断链表是否结束 { p=(Book *)malloc(sizeof(Book)); if(!p) exit(1); cout<<\输入图书编号:\ cin>>p->num; if(p->num==0) //退出\增加图书\ { cout<<\共计\本图书入库!\ cout<<\==========\ break; } cout<<\输入书名:\ cin>>p->name; p->yes=1; //1表示没有借出 p->next=NULL; q->next=p; q=p; ++i; cout< return 1; } int Search_BookNum(BookList &H) //按编号查询 { Book *p; p=H->next; long n; int flag=0; cout<<\输入要查询的书的编号:\ cin>>n; for(;p!=NULL;p=p->next) { if(n==p->num) { if(flag==0) cout< cout< if(p->yes==1) cout< else cout< flag=1; continue; } } cout<<\==========\ if(p==NULL&&flag==0) { cout<<\没有相关信息\ cout<<\==========\ } 21 return 1; } int Search_AllB(BookList &H) //查询所有图书信息 { Book *p; p=H->next; int i=0,flag=0; for(;p!=NULL;p=p->next) { if(flag==0) cout< if(p->next!=NULL&&p->next->num==n) { if(p->next->yes==0) { 22