图书管理系统代码Word文档下载推荐.docx
《图书管理系统代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书管理系统代码Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
//图书功能函数列表
voidredo();
//主递归函数
voidcreatlist(datatype*x[]);
//图书建立函数
intmenu_select();
//功能菜单函数
voidfind(datatype*x[],intn);
//查找函数
voiddelnode(datatype*x[]);
//插入函数
voidprintlist(datatype*x[]);
//显示函数
voidjieyue(datatype*x[],intn);
//借阅函数
voidguihuan(datatype*x[],intn);
//归还函数
//主递归函数程序
voidredo()
inti=0,j,n1,k=0,flage;
for(;
;
)
{
switch(menu_select())
case1:
//选项1的实现
printf("
***********************\n"
);
*图书的建立*\n"
creatlist(x);
break;
case2:
//选项2的实现
*新图书信息的添加*\n"
插入的个数:
"
scanf("
%d"
&
n1);
//输入插入新图书的个数
for(i=0;
i<
n1;
i++)
flage=0;
p=(datatype*)malloc(sizeof(datatype));
//分配一个节点空间
书名:
"
%s"
p->
name);
//输入插入书的书名
if(flage==0)
for(j=0;
j<
n;
j++)
if(strcmp(x[j]->
name,p->
name)==0)//调用比较函数查看书名是否已知
x[j]->
Allcounter++;
Nowcounter++;
flage=1;
}
n++;
第%d个图书数据:
\n"
n);
//插入新的图书
x[n-1]=p;
x[n-1]->
//输入书名
编号:
%s"
num);
//输入书号
作者:
addr);
//输入作者名
总库存量:
x[n-1]->
Allcounter);
//输入总库存量
x[n-1]->
Nowcounter=x[n-1]->
Allcounter;
case3:
*图书信息的查询*\n"
find(x,n);
case4:
************************\n"
*图书信息的删除*\n"
delnode(x);
case5:
*图书信息的显示*\n"
printlist(x);
case6:
图书的借阅\n"
jieyue(x,n);
case7:
图书的归还\n"
guihuan(x,n);
case0:
\t谢谢使用,再见!
\n"
return;
}
//*************************
//主函数程序
voidmain()
redo();
//调用主递归函数
//功能菜单函数
intmenu_select()
inti;
欢迎进入图书管理系统!
===========================\n"
1.图书信息的采集\n"
2.新图书的插入\n"
3.图书信息的查询\n"
4.图书的删除\n"
5.图书的显示\n"
6.图书的借阅\n"
7.图书的归还\n"
0.退出管理系统\n"
请选择0-7:
i);
while(i<
0||i>
7)
\n\t输入出错,重选0-7:
returni;
//********************************
//建立链表图书建造函数
voidcreatlist(datatype*x[])
请输入要建立图书的个数:
n);
i+1);
x[i]=p;
//输入图书各项内容
x[i]->
x[i]->
x[i]->
Nowcounter=x[i]->
//**********************************
//查找函数程序
//*********************************
voidfind(datatype*x[],intn)
intt,i;
=================\n"
//输出查找方式
1.按编号查询\n"
2.按书名查询\n"
请选择:
t);
//输入选择信息
if(t==1)
请输入要查找者的编号:
num);
//输入书号
if(strcmp(x[i]->
num,num)==0)//调用strcmp函数
{
编号书名作者现库存量总库存量\n"
//输出要查询书的信息
%-10s%-10s%-10s%-10d%-10d\n"
num,x[i]->
name,x[i]->
addr,x[i]->
Nowcounter,x[i]->
else
continue;
请输入要查询的书名:
name);
//输入书名
name,name)==0)
编号书名作者现库存量总库存量\n"
//******************************
//删除函数程序
voiddelnode(datatype*x[])
charnum1[10],name1[10];
//定义两个字符数组
inti,j,m=1,p;
1.按编号删除\n"
//输出选择方式
2.按书名删除\n"
3.返回\n"
请选择:
p);
if(p>
3||p<
1)
您的输入有误,请重新输入!
//重新输入选择信息
switch(p)//实现删除程序
输入要删除书的编号:
num1);
num,num1)==0)//调用strcmp函数
m=0;
n--;
for(j=i;
x[j]=x[j+1];
//将该书信息删除
该书已删除!
if(m==1)
没有这样的的图书\n"
输入要删除书的名字:
name1);
name,name1)==0)//调用strcmp函数
j++)//将该书信息删除
//////////////////////////
////借阅函数程序
/////////////////////////
voidjieyue(datatype*x[],intn)
inti,m=1,p;
charname1[10],num1[10];
1.按名字借阅\n"
2.按编号借阅\n"
请选择\n"
您的输入有误!
switch(p)//实现查询程序
请输入你要的书的名字!
//输入书名
if(x[i]->
Nowcounter!
=0)
Nowcounter--;
借书成功!
Nowcounter==0)
这本书已经没有了\n"
您要的书不存在!
请输入你要的书的编号!
num1);
//输入书号
//现存书数量减1
///////////////////////
/////归还程序
//////////////////////
voidguihuan(datatype*x[],intn)
inti,q,m=1;
1.按书名归还\n"
//输出可选择方式
2.按书号归还\n"
q);
if(q>
3||q<
switch(q)//实现归还程序
输入归还书的书名:
name,name1)==0)
此书归还成功!
此书的存储情况\n"
编号书名作者现存量总存量\n"
===============================================\n"
此书不是图书馆的!
输入归还书的书号\n"
num,num1)==0)
//显存书增加1
==============================================\n"
num,num1)==0)//调用strcmp函数
//**************************************
//输出程序
voidprintlist(datatype*x[])
//输出图书各项信息