配色: 字号:
图书管理系统
2021-07-24 | 阅:  转:  |  分享 
  
/。吧南阳理工学院·计算机与软件学院课程设计报告课程名称:面向对象程序设计(课程设计)课题名称:图书信息管理系统姓名:学号:专业:年
级:指导教师:职称:2021年01月17日目录1.课题来源12.任务描述12.1.课题的总体结构12.2.核心功能模块与类设
计13.程序(系统)详细设计24.程序(系统)实现与测试35.结束语4课题来源随着计算机与网络技术的飞速发展,当今社会正想着信息化
方向前进,信息系统的作用越来越大。图书管理系统是智能办公系统的重要部分,编写也是为了更加全面的了解软件开发的过程,同时此过程的开展
也能更好地了解面向对象设计的三大特征:多态,封装,继承。任务描述课题基本内容包括:管理员和会员管理员:1:新进图书基本信息的录入,
并实现查重功能。2:图书基本信息的增加。3:图书基本信息的删除。4:图书基本信息的修改。5:图书基本信息的查询6:图书基本信息的排
序(按序号)会员:1:图书状态的查询2:借书与还书功能。课题的总体结构图书管理系统的基本框架核心功能模块与类设计程序(系统)详细设
计程序(系统)实现与测试#include#include#include>#include#includeusingnamespacestd;constintm
ima=123456789;classbooks{public:stringname;intid;intprice;st
ringwriter;stringcategory;stringstate;booksnext;};classsuff
er{public:voidone();voidtwo();voidthrid();voidfore();voidex
ist();//退出private:charg,m;};classLinklist{public:voidaddList
();voidprintfList(inth);voidcreatList();voidinsertlist();void
deleteList();voidreviseList();voidrankList();voidlendbook();v
oidforms();voidreturnbook();private:fstreamifi,ofi;bookshead
;suffersurm;};structmember{stringmember;stringcode;stringnu
m;stringname;stringsex;stringphone;structmembernext0;};clas
suser{public:voidzc();voidland();protected:fstreamifile,ofil
e;suffersurf;structmemberhead1;};classmanager{public:voidz
c2();voidland2();private:fstreamm,w;suffersurf;};voidchoise(c
harm);voidchoise2(charf);voidchoise3(charh);voidLinklist::f
orms(){booksp;p=head=newbooks;ifi.open("books.txt",ios::in);w
hile(ifi>>p->id>>p->name>>p->writer>>p->category>>p->state>>p->pr
ice){p->next=newbooks;p->next->next=NULL;p=p->next;}p->next=NUL
L;ifi.close();}voidLinklist::returnbook(){intw=0;intm;intbor
row;booksp;p=head=newbooks;ifi.open("books.txt",ios::in);if(!i
fi.is_open()){cout<<"打开失败";}ifi>>m;ifi.close();while(1){{cout<
<"请输入想要借出的编号:";cin>>borrow;p=head;while(p->next!=NULL){if(p->id=
=borrow){w=1;if(p->state=="借出"){p->state="在馆";cout<<"归还成功";ofi.
open("books.txt",ios::out);p=head;while(p->next!=NULL){ofi<i
d<<""<name<<""<writer<<""<category<<""<state<
<""<price<<""<next;}ofi.close();break;}else{co
ut<<"此书以在馆,归还失败";break;}}p=p->next;}break;}}system("pause");syste
m("cls");Sleep(1000);deletep;surm.fore();}voidLinklist::lendboo
k(){intw=0;intm;intborrow;booksp;p=head=newbooks;ifi.open(
"books.txt",ios::in);if(!ifi.is_open()){cout<<"打开失败";}ifi>>m;ifi
.close();while(1){{cout<<"请输入想要借出的编号:";cin>>borrow;p=head;while
(p->next!=NULL){if(p->id==borrow){w=1;if(p->state=="在馆"){p->st
ate="借出";cout<<"借出成功";ofi.open("books.txt",ios::out);p=head;while
(p->next!=NULL){ofi<id<<""<name<<""<writer<<""<->category<<""<state<<""<price<<""<next;}of
i.close();break;}else{cout<<"此书以借出,借出失败";break;}}p=p->next;}bre
ak;}system("pause");}Sleep(1000);deletep;system("cls");surm.fore
();}voidLinklist::creatList(){booksp,q,w;intm,n=0;intflag
=0;cout<<"请输入需要录入书的个数:"<>m;ofi.open("books.txt",ios::ou
t);ifi.open("books.txt",ios::in);p=head=newbooks;for(inti=0;i<
m;i++){p->next=newbooks;p->next->next=NULL;cout<<"请输入编号:"<l;cin>>p->id;cout<<"请输入图书名称"<>p->name;cout<<"请输入图书作者"<<
endl;cin>>p->writer;cout<<"请输入图书类别"<>p->category;p->sta
te="在馆";cout<<"请输入图书价格"<>p->price;system("cls");w=head;
if(i!=0){while(!ifi.eof()){w->next=newbooks;w->next->next=NULL;
ifi>>w->id>>w->name>>w->writer>>w->category>>w->state>>w->price;i
f(w->id==p->id){flag=1;break;}w=w->next;}}if(flag==1){cout<<"已
录入,录入失败"<id<<""<name
<<""<writer<<""<category<<""<state<<""<price<
<""<next;}ofi.close()
;ifi.close();system("cls");deletep;surm.thrid();}voidLinklist::
addList(){booksp,q;ifi.open("books.txt",ios::in);if(!ifi.is_o
pen()){cout<<"打开失败";}ofi.open("books.txt",ios::app);head=newboo
ks;p=newbooks;head->next=NULL;p=head;while(ifi>>p->id>>p->name>>
p->writer>>p->category>>p->state>>p->price){p->next=newbooks;p-
>next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<category<<"
"<state<<""<price<next;}p->next=NULL;q=newb
ooks;q->next=p->next;q->next=NULL;cout<<"编号名称作者类别状态价格"<;cout<<"请输入想要增加的数据:"<>q->id;cout<<"图书
名称:"<>q->name;cout<<"作者:"<>q->writer;cout<<"类
别:"<>q->category;cout<<"价格:"<>q->price;q->sta
te="在馆";ofi<id<<""<name<<""<writer<<""<categor
y<<""<state<<""<price<close();Sleep(1000);system("cls");surm.thrid();}voidLinklist::pr
intfList(inth){booksp;ifi.open("books.txt",ios::in);if(!ifi.i
s_open()){cout<<"打开失败"<head=newbooks;while(ifi>>p->id>>p->name>>p->writer>>p->category>
>p->state>>p->price){p->next=newbooks;p->next->next=NULL;cout<<
""<id<<""<>name<<""<writer<<""<category<<""<state<<""<p
rice<next;}p->next=NULL;deletep;ifi.close();Sleep(100
0);system("cls");if(h==1){surm.thrid();}else{surm.fore();}}voi
dLinklist::deleteList(){booksp,q;intm;intn=0;ifi.open("boo
ks.txt",ios::in);if(!ifi.is_open()){cout<<"打开失败"<号名称作者类别状态价格"<>p->id>>p->nam
e>>p->writer>>p->category>>p->state>>p->price){p->next=newbooks
;p->next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<category
<<""<state<<""<price<next;}p->next=NULL;q=ne
wbooks;cout<<"请输入想要删除的编号:"<>m;p=head;ofi.open("books.t
xt",ios::out);while(p->id=m){q=p;if(p->next!=NULL){p=p->next;}
else{cout<<"nofound"<id){head=p->ne
xt;cout<<"删除成功"<next=p->next;cout<<"删除成
功"<next!=NULL){ofi<id<<""<<
p->name<<""<writer<<""<category<<""<state<<""<>price<next;}deletep;Sleep(1000);system("cls");ifi.cl
ose();ofi.close();surm.thrid();}voidLinklist::insertlist(){book
sp,q,n;intm,w=0;ifi.open("books.txt",ios::in);p=head=newboo
ks;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->state>>p
->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<<
p->writer<<""<category<<""<state<<""<price<=p->next;}ifi.close();cout<<"请输入你想要查找的编号:"<>m;p=head;n=
newbooks;q=newbooks;if(head==NULL){head=q;q->next=NULL;return
;}else{p=head;while(p!=NULL){if(m==p->id){cout<<""<id<<"
"<name<<""<writer<<""<category<<""<state<<""<
price<next;}}if(w==0){cout<<"输入有误"<dl;}system("cls");Sleep(1000);deletep;surm.thrid();}voidLinklis
t::reviseList(){booksp,q;intm,flag=0,lag=0;ifi.open("books.t
xt",ios::in);if(!ifi.is_open()){cout<<"打开失败"<ooks;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->state>
>p->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""
<writer<<""<category<<""<state<<""<price<;p=p->next;}ifi.close();cout<<"请输入想要修改的编号:"<>m;p=head;w
hile(p!=NULL){if(p->id==m){cout<<"请输入修改后的编号:"<>p->id;
cout<<"请输入修改后的名称:"<>p->name;cout<<"请输入修改后的作者:"<n>>p->writer;cout<<"请输入修改后的类别:"<>p->category;cout<<"请输入
修改后的价格:"<>p->price;ifi.open("books.txt",ios::in);while
(!ifi.eof()){q->next=newbooks;q->next->next=NULL;q=q->next;ifi>
>q->id>>q->name>>q->category>>q->writer>>q->state>>q->price;if(p-
>id==q->id||p->name==q->name){system("cls");cout<<"\t\t\t\t\t\t该
书已存在!"<next;}ifi.close();i
f(lag==0){cout<<"输入有误"<s.txt",ios::out);p=head;while(p->next!=NULL){ofi<id<<""<>name<<""<writer<<""<category<<""<state<<""<p
rice<next;}cout<<"修改成功"<}system("cls");deletep;surm.thrid();}voidLinklist::rankList(){
booksq,p;inta,b;stringc,d,e,f;ifi.open("books.txt",ios::in);
if(!ifi.is_open()){cout<<"打开失败"<oks;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->state>>
p->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<
writer<<""<category<<""<state<<""<price<p=p->next;}p->next=NULL;ifi.close();p=head;q=newbooks;q=head;for
(q=head;q->next!=NULL;q=q->next){for(p=head;p->next!=NULL;p=
p->next){if(p->id>p->next->id){a=p->id;p->id=p->next->id;p->nex
t->id=a;b=p->price;p->price=p->next->price;p->next->price=b;c=p->
name;p->name=p->next->name;p->next->name=c;d=p->state;p->state=p-
>next->state;p->next->state=d;e=p->category;p->category=p->next->
category;p->next->category=e;f=p->writer;p->writer=p->next->write
r;p->next->writer=f;}}}ofi.open("books.txt",ios::out);p=head->nex
t;while(p!=NULL){ofi<id<<""<name<<""<writer<<""<<
p->category<<""<state<<""<price<"<id<<""<name<<""<
writer<<""<category<<""<state<<""<price<p=p->next;}deletep;ofi.close();system("cls");Sleep(1000);surm.th
rid();}voidmanager::zc2(){intz;cout<<"请输入管理员验证码:"<>z
;chars[20];chard;intnum;if(z==mima){m.open("manager.txt",ios:
:out);intq,w;cout<<"请输入您的账号:"<>q;cout<<"请输入您的密码:"<l;cin>>w;m<ls");surf.two();}else{cout<<"验证失败,请重新选择"<rf.two();}}voidmanager::land2(){intq,t,e,r;w.open("manager.txt
",ios::in);if(!w.is_open()){cout<<"打开失败"<>q;w>>t;while(
1){cout<<"请输入您的账号:"<>e;cout<<"请输入您的密码:"<>r;i
f(q==e&&t==r){cout<<"登录成功"<t<<"登录失败"<hrid(){cout<<"
"<ndl;cout<<"1.
基本图书的录入"<2.图书信息的删除"<3.图书信息的修改"<4.图书信息的查看"<"<6.图书信息的增加"<7.查看图书库存"<
"<cin>>g;choise2(g);}voidsuffer::one(){cout<<"

"<<"
"<0);}voidsuffer::two(){cout<<"

"<1.管理员注册"<2.管理员登录"<3.会员注册"<4.会员登录"<0.退出"<
"<>m;choise(
m);}voidsuffer::thrid(){cout<<"

"<1.图书信息的查看"<2.图书借出"<out<<"4.返回"<<
endl;cout<<"
"<;cout<<"请输入您的选泽:";cin>>g;choise3(g);}voidsuffer::exist(){system
("cls");cout<<"欢迎下次使用。"<em("color7c");Sleep(1000);system("color7b");Sleep(1000);system(
"color7d");Sleep(1000);system("color7e");Sleep(1000);system("co
lor71");Sleep(2000);exit(0);}voiduser::zc(){ofile.open("user.t
xt",ios::out);stringa,b;cout<<"请输入你的账号:"<>a;cout<<"请输入
你的密码:"<>b;ofile<(1000);ifile.close();ofile.close();system("cls");surf.two();}void
user::land(){stringm,n,a,b;memberT;T=head1=newmember;T->nex
t0=NULL;ifile.open("user.txt",ios::in);if(!ifile.is_open()){cout
<<"打开失败";exit(0);}ifile>>m;ifile>>n;while(1){cout<<"请输入您的账号:"<ndl;cin>>a;cout<<"请输入您的密码:"<ch;intcount=0;while((ch=getch())!=''\r''){if(ch!=''\b''&&count<14)
{pw[count++]=ch;cout<<"";}else{if(count>0){cout<<"\b"<<""<<
"\b";count--;}}}pw_swap=pw;pw[count]=''\0'';if(m==a&&n==pw){cout<<
"登录成功"<member=a;T->code=b;break;}else{co
ut<<"登录失败"<("member.txt",ios::out);ifile>>T->member>>T->code;ifile.close();d
eleteT;}voidchoise2(charh){suffersur3;Linklistlink;intw=1;
switch(h){case''1'':system("cls");link.creatList();break;case''2''
:system("cls");link.deleteList();break;case''3'':system("cls");lin
k.reviseList();break;case''4'':system("cls");link.insertlist();bre
ak;case''5'':system("cls");link.rankList();break;case''6'':system("
cls");link.addList();break;case''7'':system("cls");link.printfList
(w);break;case''8'':system("cls");sur3.show2();break;default:fflus
h(stdin);cout<<"输入有误。"<();}}voidchoise3(charh){suffersur4;Linklistlink;intw=2;int
f=0;switch(h){case''1'':system("cls");link.printfList(w);break;ca
se''2'':system("cls");link.lendbook();break;case''3'':link.returnbo
ok();break;case''4'':system("cls");sur4.show2();default:fflush(std
in);cout<<"输入有误。"<voidchoise(charm){suffersur2;userur1;managerma2;switch(m){
case''1'':system("cls");ma2.zc2();break;case''2'':system("cls");ma2
.land2();break;case''3'':system("cls");ur1.zc();break;case''4'':sys
tem("cls");ur1.land();break;case''0'':system("cls");sur2.exist();b
reak;default:fflush(stdin);cout<<"输入有误。"<(stdin);system("cls");suffersur;sur.show2();}}voidmeau(){suffe
rsur;sur.one();system("cls");sur.two();}intmain(){meau();}#inc
lude#include#include#include>#includeusingnamespacestd;constintmima=123456789;cl
assbooks{public:stringname;intid;intprice;stringwriter;stri
ngcategory;stringstate;booksnext;};classsuffer{public:void
one();voidtwo();voidthrid();voidfore();voidexist();//退出priva
te:charg,m;};classLinklist{public:voidaddList();voidprintfLi
st(inth);voidcreatList();voidinsertlist();voiddeleteList();vo
idreviseList();voidrankList();voidlendbook();voidforms();void
returnbook();private:fstreamifi,ofi;bookshead;suffersurm;};s
tructmember{stringmember;stringcode;stringnum;stringname;st
ringsex;stringphone;structmembernext0;};classuser{public:v
oidzc();voidland();protected:fstreamifile,ofile;suffersurf;st
ructmemberhead1;};classmanager{public:voidzc2();voidland2(
);private:fstreamm,w;suffersurf;};voidchoise(charm);voidchoi
se2(charf);voidchoise3(charh);voidLinklist::forms(){booksp
;p=head=newbooks;ifi.open("books.txt",ios::in);while(ifi>>p->id>
>p->name>>p->writer>>p->category>>p->state>>p->price){p->next=ne
wbooks;p->next->next=NULL;p=p->next;}p->next=NULL;ifi.close();}v
oidLinklist::returnbook(){intw=0;intm;intborrow;booksp;p=h
ead=newbooks;ifi.open("books.txt",ios::in);if(!ifi.is_open()){c
out<<"打开失败";}ifi>>m;ifi.close();while(1){{cout<<"请输入想要借出的编号:";c
in>>borrow;p=head;while(p->next!=NULL){if(p->id==borrow){w=1;if
(p->state=="借出"){p->state="在馆";cout<<"归还成功";ofi.open("books.txt"
,ios::out);p=head;while(p->next!=NULL){ofi<id<<""<name<
<""<writer<<""<category<<""<state<<""<price<<
""<next;}ofi.close();break;}else{cout<<"此书以在馆,归还失败"
;break;}}p=p->next;}break;}}system("pause");system("cls");Sleep(1
000);deletep;surm.fore();}voidLinklist::lendbook(){intw=0;int
m;intborrow;booksp;p=head=newbooks;ifi.open("books.txt",ios:
:in);if(!ifi.is_open()){cout<<"打开失败";}ifi>>m;ifi.close();while(1
){{cout<<"请输入想要借出的编号:";cin>>borrow;p=head;while(p->next!=NULL)
{if(p->id==borrow){w=1;if(p->state=="在馆"){p->state="借出";cout<<"
借出成功";ofi.open("books.txt",ios::out);p=head;while(p->next!=NULL)
{ofi<id<<""<name<<""<writer<<""<category<<""<
state<<""<price<<""<next;}ofi.close();break;
}else{cout<<"此书以借出,借出失败";break;}}p=p->next;}break;}system("paus
e");}Sleep(1000);deletep;system("cls");surm.fore();}voidLinklis
t::creatList(){booksp,q,w;intm,n=0;intflag=0;cout<<"请输入需要录
入书的个数:"<>m;ofi.open("books.txt",ios::out);ifi.open("boo
ks.txt",ios::in);p=head=newbooks;for(inti=0;inext
=newbooks;p->next->next=NULL;cout<<"请输入编号:"<>p->id;cou
t<<"请输入图书名称"<>p->name;cout<<"请输入图书作者"<>p->wri
ter;cout<<"请输入图书类别"<>p->category;p->state="在馆";cout<<"请
输入图书价格"<>p->price;system("cls");w=head;if(i!=0){while(!
ifi.eof()){w->next=newbooks;w->next->next=NULL;ifi>>w->id>>w->n
ame>>w->writer>>w->category>>w->state>>w->price;if(w->id==p->id)
{flag=1;break;}w=w->next;}}if(flag==1){cout<<"已录入,录入失败"<leep(1000);}if(flag==0){ofi<id<<""<name<<""<writer
<<""<category<<""<state<<""<price<<""<<"录入成功"<next;}ofi.close();ifi.close();sys
tem("cls");deletep;surm.thrid();}voidLinklist::addList(){books
p,q;ifi.open("books.txt",ios::in);if(!ifi.is_open()){cout<<"打
开失败";}ofi.open("books.txt",ios::app);head=newbooks;p=newbooks;h
ead->next=NULL;p=head;while(ifi>>p->id>>p->name>>p->writer>>p->ca
tegory>>p->state>>p->price){p->next=newbooks;p->next->next=NULL
;cout<<""<id<<""<name<<""<writer<<""<category
<<""<state<<""<price<next;}p->next=NULL;q=ne
wbooks;q->next=p->next;q->next=NULL;cout<<"编号名称作者类别状态价格"<ndl;cout<<"请输入想要增加的数据:"<>q->id;cout<<
"图书名称:"<>q->name;cout<<"作者:"<>q->writer;cout<
<"类别:"<>q->category;cout<<"价格:"<>q->price;q->
state="在馆";ofi<id<<""<name<<""<writer<<""<cate
gory<<""<state<<""<price<fi.close();Sleep(1000);system("cls");surm.thrid();}voidLinklist:
:printfList(inth){booksp;ifi.open("books.txt",ios::in);if(!if
i.is_open()){cout<<"打开失败"<;p=head=newbooks;while(ifi>>p->id>>p->name>>p->writer>>p->catego
ry>>p->state>>p->price){p->next=newbooks;p->next->next=NULL;cou
t<<""<id<<""<
name<<""<writer<<""<category<<""<state<<""<->price<next;}p->next=NULL;deletep;ifi.close();Sleep(
1000);system("cls");if(h==1){surm.thrid();}else{surm.fore();}}
voidLinklist::deleteList(){booksp,q;intm;intn=0;ifi.open("
books.txt",ios::in);if(!ifi.is_open()){cout<<"打开失败"<<"编号名称作者类别状态价格"<>p->id>>p-
>name>>p->writer>>p->category>>p->state>>p->price){p->next=newb
ooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<cate
gory<<""<state<<""<price<next;}p->next=NULL;
q=newbooks;cout<<"请输入想要删除的编号:"<>m;p=head;ofi.open("boo
ks.txt",ios::out);while(p->id=m){q=p;if(p->next!=NULL){p=p->nex
t;}else{cout<<"nofound"<id){head=p
->next;cout<<"删除成功"<next=p->next;cout<<
"删除成功"<next!=NULL){ofi<id<<"
"<name<<""<writer<<""<category<<""<state<<""
<price<next;}deletep;Sleep(1000);system("cls");if
i.close();ofi.close();surm.thrid();}voidLinklist::insertlist(){
booksp,q,n;intm,w=0;ifi.open("books.txt",ios::in);p=head=new
books;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->stat
e>>p->price){p->next=newbooks;p->next->next=NULL;cout<<""<i
d<<""<name<<""<writer<<""<category<<""<state<
<""<price<next;}ifi.close();cout<<"请输入你想要查找的编号:"<
>m;p=head;n=newbooks;q=newbooks;if(head==NULL){head=
q;q->next=NULL;return;}else{p=head;while(p!=NULL){if(m==p->id)
{cout<<""<id<
<""<name<<""<writer<<""<category<<""<state<<"
"<price<next;}}if(w==0){cout<<"输入有误"<
list::reviseList(){booksp,q;intm,flag=0,lag=0;ifi.open("book
s.txt",ios::in);if(!ifi.is_open()){cout<<"打开失败"<wbooks;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->sta
te>>p->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<
""<writer<<""<category<<""<state<<""<price<ndl;p=p->next;}ifi.close();cout<<"请输入想要修改的编号:"<>m;p=hea
d;while(p!=NULL){if(p->id==m){cout<<"请输入修改后的编号:"<>p->
id;cout<<"请输入修改后的名称:"<>p->name;cout<<"请输入修改后的作者:"<;cin>>p->writer;cout<<"请输入修改后的类别:"<>p->category;cout<<"
请输入修改后的价格:"<>p->price;ifi.open("books.txt",ios::in);wh
ile(!ifi.eof()){q->next=newbooks;q->next->next=NULL;q=q->next;i
fi>>q->id>>q->name>>q->category>>q->writer>>q->state>>q->price;if
(p->id==q->id||p->name==q->name){system("cls");cout<<"\t\t\t\t\t
\t该书已存在!"<next;}ifi.close(
);if(lag==0){cout<<"输入有误"<ooks.txt",ios::out);p=head;while(p->next!=NULL){ofi<id<<""<
name<<""<writer<<""<category<<""<state<<""<->price<next;}cout<<"修改成功"<();}system("cls");deletep;surm.thrid();}voidLinklist::rankList(
){booksq,p;inta,b;stringc,d,e,f;ifi.open("books.txt",ios::i
n);if(!ifi.is_open()){cout<<"打开失败"<books;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->stat
e>>p->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<"
"<writer<<""<category<<""<state<<""<price<dl;p=p->next;}p->next=NULL;ifi.close();p=head;q=newbooks;q=head;
for(q=head;q->next!=NULL;q=q->next){for(p=head;p->next!=NULL;
p=p->next){if(p->id>p->next->id){a=p->id;p->id=p->next->id;p->
next->id=a;b=p->price;p->price=p->next->price;p->next->price=b;c=
p->name;p->name=p->next->name;p->next->name=c;d=p->state;p->state
=p->next->state;p->next->state=d;e=p->category;p->category=p->nex
t->category;p->next->category=e;f=p->writer;p->writer=p->next->wr
iter;p->next->writer=f;}}}ofi.open("books.txt",ios::out);p=head->
next;while(p!=NULL){ofi<id<<""<name<<""<writer<<"
"<category<<""<state<<""<price<"<id<<""<name<<"
"<writer<<""<category<<""<state<<""<price<dl;p=p->next;}deletep;ofi.close();system("cls");Sleep(1000);surm
.thrid();}voidmanager::zc2(){intz;cout<<"请输入管理员验证码:"<>>z;chars[20];chard;intnum;if(z==mima){m.open("manager.txt",i
os::out);intq,w;cout<<"请输入您的账号:"<>q;cout<<"请输入您的密码:"<<
endl;cin>>w;m<("cls");surf.two();}else{cout<<"验证失败,请重新选择"<;surf.two();}}voidmanager::land2(){intq,t,e,r;w.open("manager.
txt",ios::in);if(!w.is_open()){cout<<"打开失败"<>q;w>>t;whi
le(1){cout<<"请输入您的账号:"<>e;cout<<"请输入您的密码:"<>
r;if(q==e&&t==r){cout<<"登录成功"<cout<<"登录失败"<::thrid(){cout<<"
"
<1.基本图书的录入"<3.图书信息的修改"<4.图书信息的查看"<cout<<"5.图书信息
的排序"<6.图书信息的增加"<7.查看图书库存"<8.退出"<
"<>g;choi
se2(g);}voidsuffer::one(){cout<<"

"<
"<ffer::two(){cout<<"

"<管理员注册"<3.会员注册"<4.会员登录"<0.退出"<
"<>m
;choise(m);}voidsuffer::thrid(){cout<<"

"<1.图书信息的查看"<2.图书借出"<3.图书归还"<4.返回"<out<<"
"<<"请输入您的选泽:";cin>>g;choise3(g);}voidsuffer::exist(){system("cls"
);cout<<"欢迎下次使用。"<lor7c");Sleep(1000);system("color7b");Sleep(1000);system("color
7d");Sleep(1000);system("color7e");Sleep(1000);system("color71
");Sleep(2000);exit(0);}voiduser::zc(){ofile.open("user.txt",io
s::out);stringa,b;cout<<"请输入你的账号:"<>a;cout<<"请输入你的密码:"
<>b;ofile<;ifile.close();ofile.close();system("cls");surf.two();}voiduser:
:land(){stringm,n,a,b;memberT;T=head1=newmember;T->next0=NUL
L;ifile.open("user.txt",ios::in);if(!ifile.is_open()){cout<<"打开失
败";exit(0);}ifile>>m;ifile>>n;while(1){cout<<"请输入您的账号:"<n>>a;cout<<"请输入您的密码:"<tcount=0;while((ch=getch())!=''\r''){if(ch!=''\b''&&count<14){pw[c
ount++]=ch;cout<<"";}else{if(count>0){cout<<"\b"<<""<<"\b";c
ount--;}}}pw_swap=pw;pw[count]=''\0'';if(m==a&&n==pw){cout<<"登录成功"
<member=a;T->code=b;break;}else{cout<<"登
录失败"<er.txt",ios::out);ifile>>T->member>>T->code;ifile.close();delete
T;}voidchoise2(charh){suffersur3;Linklistlink;intw=1;switch
(h){case''1'':system("cls");link.creatList();break;case''2'':syste
m("cls");link.deleteList();break;case''3'':system("cls");link.revi
seList();break;case''4'':system("cls");link.insertlist();break;cas
e''5'':system("cls");link.rankList();break;case''6'':system("cls");
link.addList();break;case''7'':system("cls");link.printfList(w);br
eak;case''8'':system("cls");sur3.show2();break;default:fflush(stdi
n);cout<<"输入有误。"<oidchoise3(charh){suffersur4;Linklistlink;intw=2;intf=0;sw
itch(h){case''1'':system("cls");link.printfList(w);break;case''2''
:system("cls");link.lendbook();break;case''3'':link.returnbook();b
reak;case''4'':system("cls");sur4.show2();default:fflush(stdin);co
ut<<"输入有误。"<hoise(charm){suffersur2;userur1;managerma2;switch(m){case''
1'':system("cls");ma2.zc2();break;case''2'':system("cls");ma2.land2
();break;case''3'':system("cls");ur1.zc();break;case''4'':system("c
ls");ur1.land();break;case''0'':system("cls");sur2.exist();break;d
efault:fflush(stdin);cout<<"输入有误。"<);system("cls");suffersur;sur.show2();}}voidmeau(){suffersur;
sur.one();system("cls");sur.two();}intmain(){meau();}#includeostream>#include#include#include#incl
udeusingnamespacestd;constintmima=123456789;classbo
oks{public:stringname;intid;intprice;stringwriter;stringcat
egory;stringstate;booksnext;};classsuffer{public:voidone();
voidtwo();voidthrid();voidfore();voidexist();//退出private:cha
rg,m;};classLinklist{public:voidaddList();voidprintfList(int
h);voidcreatList();voidinsertlist();voiddeleteList();voidrev
iseList();voidrankList();voidlendbook();voidforms();voidretur
nbook();private:fstreamifi,ofi;bookshead;suffersurm;};struct
member{stringmember;stringcode;stringnum;stringname;strings
ex;stringphone;structmembernext0;};classuser{public:voidzc
();voidland();protected:fstreamifile,ofile;suffersurf;structm
emberhead1;};classmanager{public:voidzc2();voidland2();priv
ate:fstreamm,w;suffersurf;};voidchoise(charm);voidchoise2(ch
arf);voidchoise3(charh);voidLinklist::forms(){booksp;p=hea
d=newbooks;ifi.open("books.txt",ios::in);while(ifi>>p->id>>p->na
me>>p->writer>>p->category>>p->state>>p->price){p->next=newbook
s;p->next->next=NULL;p=p->next;}p->next=NULL;ifi.close();}voidLi
nklist::returnbook(){intw=0;intm;intborrow;booksp;p=head=ne
wbooks;ifi.open("books.txt",ios::in);if(!ifi.is_open()){cout<<"
打开失败";}ifi>>m;ifi.close();while(1){{cout<<"请输入想要借出的编号:";cin>>bo
rrow;p=head;while(p->next!=NULL){if(p->id==borrow){w=1;if(p->st
ate=="借出"){p->state="在馆";cout<<"归还成功";ofi.open("books.txt",ios::
out);p=head;while(p->next!=NULL){ofi<id<<""<name<<""<<
p->writer<<""<category<<""<state<<""<price<<""<ndl;p=p->next;}ofi.close();break;}else{cout<<"此书以在馆,归还失败";break
;}}p=p->next;}break;}}system("pause");system("cls");Sleep(1000);d
eletep;surm.fore();}voidLinklist::lendbook(){intw=0;intm;int
borrow;booksp;p=head=newbooks;ifi.open("books.txt",ios::in);i
f(!ifi.is_open()){cout<<"打开失败";}ifi>>m;ifi.close();while(1){{c
out<<"请输入想要借出的编号:";cin>>borrow;p=head;while(p->next!=NULL){if(p-
>id==borrow){w=1;if(p->state=="在馆"){p->state="借出";cout<<"借出成功";
ofi.open("books.txt",ios::out);p=head;while(p->next!=NULL){ofi<<
p->id<<""<name<<""<writer<<""<category<<""<st
ate<<""<price<<""<next;}ofi.close();break;}else
{cout<<"此书以借出,借出失败";break;}}p=p->next;}break;}system("pause");}S
leep(1000);deletep;system("cls");surm.fore();}voidLinklist::cre
atList(){booksp,q,w;intm,n=0;intflag=0;cout<<"请输入需要录入书的个数:
"<>m;ofi.open("books.txt",ios::out);ifi.open("books.txt
",ios::in);p=head=newbooks;for(inti=0;inext=newb
ooks;p->next->next=NULL;cout<<"请输入编号:"<>p->id;cout<<"请输
入图书名称"<>p->name;cout<<"请输入图书作者"<>p->writer;co
ut<<"请输入图书类别"<>p->category;p->state="在馆";cout<<"请输入图书价格
"<>p->price;system("cls");w=head;if(i!=0){while(!ifi.eo
f()){w->next=newbooks;w->next->next=NULL;ifi>>w->id>>w->name>>w
->writer>>w->category>>w->state>>w->price;if(w->id==p->id){flag=
1;break;}w=w->next;}}if(flag==1){cout<<"已录入,录入失败"<000);}if(flag==0){ofi<id<<""<name<<""<writer<<""<
category<<""<state<<""<price<<""<"<next;}ofi.close();ifi.close();system("c
ls");deletep;surm.thrid();}voidLinklist::addList(){booksp,q
;ifi.open("books.txt",ios::in);if(!ifi.is_open()){cout<<"打开失败";}
ofi.open("books.txt",ios::app);head=newbooks;p=newbooks;head->n
ext=NULL;p=head;while(ifi>>p->id>>p->name>>p->writer>>p->category
>>p->state>>p->price){p->next=newbooks;p->next->next=NULL;cout<
<""<id<<""<name<<""<writer<<""<category<<""<
state<<""<price<next;}p->next=NULL;q=newbook
s;q->next=p->next;q->next=NULL;cout<<"编号名称作者类别状态价格"<ut<<"请输入想要增加的数据:"<>q->id;cout<<"图书名称:
"<>q->name;cout<<"作者:"<>q->writer;cout<<"类别:"
<>q->category;cout<<"价格:"<>q->price;q->state=
"在馆";ofi<id<<""<name<<""<writer<<""<category<<
""<state<<""<price<se();Sleep(1000);system("cls");surm.thrid();}voidLinklist::print
fList(inth){booksp;ifi.open("books.txt",ios::in);if(!ifi.is_o
pen()){cout<<"打开失败"<d=newbooks;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p-
>state>>p->price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<na
me<<""<writer<<""<category<<""<state<<""<pric
e<next;}p->next=NULL;deletep;ifi.close();Sleep(1000);
system("cls");if(h==1){surm.thrid();}else{surm.fore();}}voidL
inklist::deleteList(){booksp,q;intm;intn=0;ifi.open("books.
txt",ios::in);if(!ifi.is_open()){cout<<"打开失败"<名称作者类别状态价格"<>p->id>>p->name>
>p->writer>>p->category>>p->state>>p->price){p->next=newbooks;p
->next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<category<<
""<state<<""<price<next;}p->next=NULL;q=new
books;cout<<"请输入想要删除的编号:"<>m;p=head;ofi.open("books.txt
",ios::out);while(p->id=m){q=p;if(p->next!=NULL){p=p->next;}el
se{cout<<"nofound"<id){head=p->next
;cout<<"删除成功"<next=p->next;cout<<"删除成功"
<next!=NULL){ofi<id<<""<>name<<""<writer<<""<category<<""<state<<""<p
rice<next;}deletep;Sleep(1000);system("cls");ifi.clos
e();ofi.close();surm.thrid();}voidLinklist::insertlist(){books
p,q,n;intm,w=0;ifi.open("books.txt",ios::in);p=head=newbooks
;while(ifi>>p->id>>p->name>>p->writer>>p->category>>p->state>>p->
price){p->next=newbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<>writer<<""<category<<""<state<<""<price<->next;}ifi.close();cout<<"请输入你想要查找的编号:"<>m;p=head;n=ne
wbooks;q=newbooks;if(head==NULL){head=q;q->next=NULL;return;}
else{p=head;while(p!=NULL){if(m==p->id){cout<<"
"<id<<""<name<<""<w
riter<<""<category<<""<state<<""<price<reak;}p=p->next;}}if(w==0){cout<<"输入有误"<ep(1000);deletep;surm.thrid();}voidLinklist::reviseList(){book
sp,q;intm,flag=0,lag=0;ifi.open("books.txt",ios::in);if(!ifi.
is_open()){cout<<"打开失败"<>p->id
>>p->name>>p->writer>>p->category>>p->state>>p->price){p->next=n
ewbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<
category<<""<state<<""<price<next;}ifi.close
();cout<<"请输入想要修改的编号:"<>m;p=head;while(p!=NULL){if(p->
id==m){cout<<"请输入修改后的编号:"<>p->id;cout<<"请输入修改后的名称:"<ndl;cin>>p->name;cout<<"请输入修改后的作者:"<>p->writer;cout<<"请
输入修改后的类别:"<>p->category;cout<<"请输入修改后的价格:"<>p
->price;ifi.open("books.txt",ios::in);while(!ifi.eof()){q->next
=newbooks;q->next->next=NULL;q=q->next;ifi>>q->id>>q->name>>q->c
ategory>>q->writer>>q->state>>q->price;if(p->id==q->id||p->name==
q->name){system("cls");cout<<"\t\t\t\t\t\t该书已存在!"<ag=2;}}lag=1;break;}p=p->next;}ifi.close();if(lag==0){cout<<"输入有
误"<ad;while(p->next!=NULL){ofi<id<<""<name<<""<writer
<<""<category<<""<state<<""<price<next;
}cout<<"修改成功"<p;surm.thrid();}voidLinklist::rankList(){booksq,p;inta,b;s
tringc,d,e,f;ifi.open("books.txt",ios::in);if(!ifi.is_open()){c
out<<"打开失败"<>p->id>
>p->name>>p->writer>>p->category>>p->state>>p->price){p->next=ne
wbooks;p->next->next=NULL;cout<<"
"<id<<""<name<<""<writer<<""<c
ategory<<""<state<<""<price<next;}p->next=NU
LL;ifi.close();p=head;q=newbooks;q=head;for(q=head;q->next!=NUL
L;q=q->next){for(p=head;p->next!=NULL;p=p->next){if(p->id>p-
>next->id){a=p->id;p->id=p->next->id;p->next->id=a;b=p->price;p-
>price=p->next->price;p->next->price=b;c=p->name;p->name=p->next-
>name;p->next->name=c;d=p->state;p->state=p->next->state;p->next-
>state=d;e=p->category;p->category=p->next->category;p->next->cat
egory=e;f=p->writer;p->writer=p->next->writer;p->next->writer=f;}
}}ofi.open("books.txt",ios::out);p=head->next;while(p!=NULL){ofi
<id<<""<name<<""<writer<<""<category<<""<
state<<""<price<"<id<<""<name<<""<writer<<""<c
ategory<<""<state<<""<price<next;}deletep;o
fi.close();system("cls");Sleep(1000);surm.thrid();}voidmanager::
zc2(){intz;cout<<"请输入管理员验证码:"<>z;chars[20];chard;in
tnum;if(z==mima){m.open("manager.txt",ios::out);intq,w;cout<<"
请输入您的账号:"<>q;cout<<"请输入您的密码:"<>w;m<;cout<<"注册成功,请稍等。"<e{cout<<"验证失败,请重新选择"<er::land2(){intq,t,e,r;w.open("manager.txt",ios::in);if(!w.is_o
pen()){cout<<"打开失败"<>q;w>>t;while(1){cout<<"请输入您的账号:"<
>e;cout<<"请输入您的密码:"<>r;if(q==e&&t==r){cout<<
"登录成功"<nue;}}surf.thrid();w.close();}voidsuffer::thrid(){cout<<"

"<1.基本图书的录入"<"2.图书信息的删除"<3.图书信息的修改"<4.图书信息的查看"<5.图书信息的排序"<6.图书信息的增加"<ut<<"7.查看图书库存
"<8.退出"<
"<>g;choise2(g);}voidsuffer::one
(){cout<<"
"<cout<<"欢迎进入图书管理系统"<
"<
"<1.管理员注册"<理员登录"<3.会员注册"<4.会员登录"<0.退出"<
"<>m;choise(m);}voidsuffer::thrid(){cout<<""<>g;choise3(g);}voidsuffer::exist(){system("cls");cout<<"欢迎下次使用。"<>a;cout<<"请输入你的密码:"<>b;ofile<next0=NULL;ifile.open("user.txt",ios::in);if(!ifile.is_open()){cout<<"打开失败";exit(0);}ifile>>m;ifile>>n;while(1){cout<<"请输入您的账号:"<>a;cout<<"请输入您的密码:"<0){cout<<"\b"<<""<<"\b";count--;}}}pw_swap=pw;pw[count]=''\0'';if(m==a&&n==pw){cout<<"登录成功"<member=a;T->code=b;break;}else{cout<<"登录失败"<>T->member>>T->code;ifile.close();deleteT;}voidchoise2(charh){suffersur3;Linklistlink;intw=1;switch(h){case''1'':system("cls");link.creatList();break;case''2'':system("cls");link.deleteList();break;case''3'':system("cls");link.reviseList();break;case''4'':system("cls");link.insertlist();break;case''5'':system("cls");link.rankList();break;case''6'':system("cls");link.addList();break;case''7'':system("cls");link.printfList(w);break;case''8'':system("cls");sur3.show2();break;default:fflush(stdin);cout<<"输入有误。"<
献花(0)
+1
(本文系新用户1302e...首藏)