图书借阅管理系统C++数据结构课程设计Word格式文档下载.docx
《图书借阅管理系统C++数据结构课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统C++数据结构课程设计Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
string>
/*************************************结构体部分************************************/
/************图书信息结构体*************/
typedefstructelem
{
charbookid[5];
charbookname[20];
charbookauthor[50];
charbookmark[2];
charmemberid[4];
}elemtype;
/************图书链表结点结构体*************/
typedefstructnode
elemtypedata;
structnode*next;
}lnode,*linknode;
/************会员信息结构体*************/
typedefstructmemberelem
charmembername[10];
}memberelemtype;
/************会员链表结点结构体*************/
typedefstructmembernode
memberelemtypedata;
structmembernode*next;
}mlnode,*mlinknode;
/*************************************创建函数部分************************************/
//^^^^^^^^^^^^^^^^^创建与销毁部分^^^^^^^^^^^^^^^^^^^^^^^^^^//
/************创建空图书链表*************/
linknodeInit_lnode()
linknodehead;
head=(linknode)malloc(sizeof(lnode));
if(head)
{
head->
next=NULL;
head->
data.bookauthor[50]=NULL;
data.bookid[5]=NULL;
data.bookmark[2]=NULL;
data.bookname[20]=NULL;
data.memberid[4]=NULL;
}
returnhead;
}
/************销毁图书链表*************/
voidDestroy_lnode(linknode*head)
linknodep,q;
if(!
(*head))
return;
p=*head;
while(!
p)
q=p;
p=p->
next;
free(q);
*head=NULL;
/************创建空会员链表*************/
mlinknodeInit_mlnode()
mlinknodemhead;
mhead=(mlinknode)malloc(sizeof(mlnode));
if(mhead)
mhead->
mhead->
data.membername[10]=NULL;
returnmhead;
/************销毁会员链表*************/
voidDestroy_mlnode(mlinknode*mhead)
mlinknodep,q;
p=*mhead;
(*mhead))
while(p)
*mhead=NULL;
//^^^^^^^^^^^^^^^^^图书管理函数^^^^^^^^^^^^^^^^^^^^^^^^^^//
/************增加图书模块*************/
voidaddbook(linknodehead)
linknodep;
p=(linknode)malloc(sizeof(lnode));
system("
cls"
);
printf("
Addbooks....\n"
pleaseinputbookinfo:
\n\n"
%-7s%-20s%-15s\n"
"
id(4)"
bookname"
bookauthor"
****************************************************************\n"
//scanf("
%s%s%s"
p->
data.bookid,p->
data.bookname,p->
data.bookauthor);
cin>
>
p->
data.bookname;
data.bookauthor;
p->
data.bookmark[0]='
N'
;
data.bookmark[1]='
\0'
data.memberid[0]='
0'
data.memberid[1]='
next=head->
next=p;
\n\nAddsuccess!
\n"
\nPressanykeyretrun..."
getchar();
/************输出图书信息函数*************/
voidprintbookinfo(linknodehead)
p=Init_lnode();
p=head->
Thebookinformationsare:
cout<
<
"
id\tbookname\tbookauthor\ttmark\tborower\t\n"
//printf("
\t\n"
\t\t\n"
id"
mark"
borower"
****************************************************************"
endl;
data.bookid<
\t"
cout<
data.bookname<
\t\t"
data.bookauthor<
data.bookmark<
data.memberid<
/************按编号查询图书*************/
voidselect(linknodehead)
charid[5];
selectbookbyid.....\n\n"
Pleaseinputbookid:
id;
if(strcmp(p->
data.bookid,id)==0)break;
elsep=p->
if(p==NULL)
printf("
\nThebooknotexit!
else
\n%-7s%-20s%-15s%-3s%s\n"
data.bookauthor,p->
data.bookmark,p->
data.memberid);
/************按编号删除图书*************/
voiddeletebook(linknodehead)
q=head;
deletebookbyid....\n\n"
scanf("
%s"
id);
while(p!
=NULL)
{
q=p;
p=p->
}
if(p==NULL)printf("
\nThebookyouwanttodeletearenotexit!
q->
next=p->
free(p);
\nDeletesuccess!
/****************借阅图书*****************/
voidborrow(linknodehead,mlinkn