资源简介
一个用运用数据结构编的图书馆管理系统,开发语言是C++
代码片段和文件信息
#include
#include
#include
#define MAXSIZE 300 //最大值定义为300
#define LIST_INIT_SIZE 300
typedef struct Boro
{
char BNum[50]; //书号
char RetDate[50]; //归还日期
struct Boro *next;
}Bor;
typedef struct linkBook
{
Bor *next; //该图书证的借书
char CNum[50]; //卡号
int Total; //借书的数量
}lend[LIST_INIT_SIZE]; //借书人
typedef struct LNode
{
char CardNum[50]; //图书证号
struct LNode *next;
}linkList; //借书人
typedef struct book
{ char num[10]; //书号
char name[10]; //书名
char auth[10]; //作者
char pub[10]; //出版社
int TotNum; //总库存
int NowNum; //现库存
linkList *next; //借了该书的人
}ook[MAXSIZE];
int Retotal; //读者数量
int total; //定义外部变量.书的种类数
void InitBo(ook &boo) //初始化图书信息
{
for(int i=0;i {
boo[i].NowNum=0;
boo[i].TotNum=0;
boo[i].next=NULL;
}
}
void InitRe(lend &Lin) //初始化借阅者信息
{
for(int i=0;i Lin[i].next=NULL;
}
int mid=0; //外部函数mid,用来返回查找到的位置
bool BinarySearch(ook boochar SearchNum[]) //二分法查找比较书号
{
int low=0high=total-1;
int found=0;
while(low<=high)
{
mid=(low+high)/2; //中间点
if(strcmp(boo[mid].numSearchNum)==0) //书号相同
{
found=1;
return true;
} //查找成功
if(strcmp(boo[mid].numSearchNum)!=0) //书号不同
high=mid-1;
else low=mid+1;
}
if(found==0)
return false; //查找失败
}
void Buy(ook &boo char BuyNum[])
{
if(BinarySearch(booBuyNum)) //如果书库中有此书
{
boo[mid].TotNum++; //总库存加1
boo[mid].NowNum++; //现库存加1
cout<<“入库成功.\n“;
cout<<“已更改书库中该书的信息:“< cout<<“ 编号:“< }
if(!BinarySearch(booBuyNum))
{
int i;
for(i=total;i>mid&&total;i--) //插在适合位置 保持有序
boo[i]=boo[i-1]; //空出插入位置
cout<<“该书在书库中不存在。设立新书目,请补全书的详细信息。\n“;
strcpy(boo[i].numBuyNum);
cout<<“该书新存入的数量是:“;
cin>>boo[i].NowNum;
boo[i].TotNum=boo[i].NowNum;
cout<<“该书的名字是:“;
cin>>boo[i].name;
cout<<“该书的作者是:“;
cin>>boo[i].auth;
cout<<“该书的出版社是:“;
cin>>boo[i].pub;//补全信息
boo[i].next=NULL;
total++;//总量+1
cout<<“已增加该书的信息:“< cout<<“ 编号:“< cout<<“入库成功.\n“;
}
}
void Delete(ook &boochar DeleteNum[])
{
if(BinarySearch(booDeleteNum)==false||total==0) //如果无此书
cout<<“书库中没有该书.\n“;
if(BinarySearch(booDeleteNum)) //若有
{
if(!boo[mid].next)
{
int j;
for( j=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 41984 2011-04-03 01:38 图书管理系统\Debug\vc60.idb
文件 61440 2011-04-03 01:38 图书管理系统\Debug\vc60.pdb
文件 225351 2011-04-03 01:38 图书管理系统\Debug\图书管理系统.exe
文件 262548 2011-04-03 01:38 图书管理系统\Debug\图书管理系统.ilk
文件 44020 2011-04-03 01:38 图书管理系统\Debug\图书管理系统.obj
文件 265824 2011-04-02 23:44 图书管理系统\Debug\图书管理系统.pch
文件 541696 2011-04-03 01:38 图书管理系统\Debug\图书管理系统.pdb
文件 13393 2011-04-03 02:55 图书管理系统\图书管理系统.cpp
文件 3377 2011-04-02 23:44 图书管理系统\图书管理系统.dsp
文件 516 2011-04-03 01:40 图书管理系统\图书管理系统.dsw
文件 41984 2012-05-09 17:10 图书管理系统\图书管理系统.ncb
文件 48640 2012-05-09 17:10 图书管理系统\图书管理系统.opt
文件 738 2011-04-03 01:38 图书管理系统\图书管理系统.plg
文件 330 2012-03-15 22:03 图书管理系统\图书管理系统.sln
..A..H. 6144 2012-03-15 22:03 图书管理系统\图书管理系统.suo
目录 0 2011-08-28 19:21 图书管理系统\Debug
目录 0 2012-05-09 17:10 图书管理系统
----------- --------- ---------- ----- ----
1557985 17
评论
共有 条评论