-
大小: 275KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-13
- 語言: C/C++
- 標(biāo)簽:
資源簡介
一個用運用數(shù)據(jù)結(jié)構(gòu)編的圖書館管理系統(tǒng),開發(fā)語言是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;????????????????//借書的數(shù)量
}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;????????????????//現(xiàn)庫存
????linkList?*next;????????????//借了該書的人
}ook[MAXSIZE];
int?Retotal;???????????????//讀者數(shù)量
int?total;??????????????//定義外部變量.書的種類數(shù)
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;?????????//外部函數(shù)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++;??????????????//現(xiàn)庫存加1
??cout<<“入庫成功.\n“;
??cout<<“已更改書庫中該書的信息:“< ??cout<<“??編號:“< ?}
?if(!BinarySearch(booBuyNum))
?{
????int?i;
??for(i=total;i>mid&&total;i--)??//插在適合位置?保持有序
??boo[i]=boo[i-1];????????????????//空出插入位置
cout<<“該書在書庫中不存在。設(shè)立新書目,請補全書的詳細(xì)信息。\n“;
??strcpy(boo[i].numBuyNum);
??cout<<“該書新存入的數(shù)量是:“;
??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??圖書管理系統(tǒng)\Debug\vc60.idb
?????文件??????61440??2011-04-03?01:38??圖書管理系統(tǒng)\Debug\vc60.pdb
?????文件?????225351??2011-04-03?01:38??圖書管理系統(tǒng)\Debug\圖書管理系統(tǒng).exe
?????文件?????262548??2011-04-03?01:38??圖書管理系統(tǒng)\Debug\圖書管理系統(tǒng).ilk
?????文件??????44020??2011-04-03?01:38??圖書管理系統(tǒng)\Debug\圖書管理系統(tǒng).obj
?????文件?????265824??2011-04-02?23:44??圖書管理系統(tǒng)\Debug\圖書管理系統(tǒng).pch
?????文件?????541696??2011-04-03?01:38??圖書管理系統(tǒng)\Debug\圖書管理系統(tǒng).pdb
?????文件??????13393??2011-04-03?02:55??圖書管理系統(tǒng)\圖書管理系統(tǒng).cpp
?????文件???????3377??2011-04-02?23:44??圖書管理系統(tǒng)\圖書管理系統(tǒng).dsp
?????文件????????516??2011-04-03?01:40??圖書管理系統(tǒng)\圖書管理系統(tǒng).dsw
?????文件??????41984??2012-05-09?17:10??圖書管理系統(tǒng)\圖書管理系統(tǒng).ncb
?????文件??????48640??2012-05-09?17:10??圖書管理系統(tǒng)\圖書管理系統(tǒng).opt
?????文件????????738??2011-04-03?01:38??圖書管理系統(tǒng)\圖書管理系統(tǒng).plg
?????文件????????330??2012-03-15?22:03??圖書管理系統(tǒng)\圖書管理系統(tǒng).sln
????..A..H.??????6144??2012-03-15?22:03??圖書管理系統(tǒng)\圖書管理系統(tǒng).suo
?????目錄??????????0??2011-08-28?19:21??圖書管理系統(tǒng)\Debug
?????目錄??????????0??2012-05-09?17:10??圖書管理系統(tǒng)
-----------?---------??----------?-----??----
??????????????1557985????????????????????17
評論
共有 條評論