c++之图书馆信息管理系统终结篇Word文档下载推荐.docx
- 文档编号:19930156
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:13
- 大小:17.08KB
c++之图书馆信息管理系统终结篇Word文档下载推荐.docx
《c++之图书馆信息管理系统终结篇Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c++之图书馆信息管理系统终结篇Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
Book(){}
char*getname(){returnname;
}//获取姓名
intgetno(){returnno;
}//获取图书编号
intgettag(){returntag;
}//获取删除标记
char*getauthor(){returnauthor;
}//获取作者名
char*getno2(){returnno2;
}//获取分类号
char*getdan(){returndan;
}//获取出版单位
char*gettime(){returntime;
}//获取出版时间
chargetprice(){returnprice;
}//获取图书价格
voidsetname(charna[])//设置书名
strcpy(name,na);
}
voidsetauthor(charau[])//设置作者名
{
strcpy(author,au);
}
voidsetno2(charn[])//设置分类号
strcpy(no2,n);
voidsetdan(chard[])//设置出版单位
strcpy(dan,d);
voidsettime(chart[])//设置出版时间
strcpy(time,t);
voiddelbook(){tag=1;
}//删除图书
voidaddbook(intn,char*na,char*au,char*n2,char*da,char*ti,intpr)//增加图书
tag=0;
no=n;
price=pr;
strcpy(author,au);
strcpy(no2,n2);
strcpy(dan,da);
strcpy(time,ti);
voiddisp()//输出图书
cout<
<
setw(10)<
no<
name<
setw(10)
setw(10)<
author<
setw(10)<
no2<
dan<
time<
price<
endl;
};
classBDatabase//图书库类
inttop;
//图书记录指针
Bookbook[Maxb];
//图书记录
BDatabase()//构造函数,将book.txt读到book[]中
Bookb;
top=-1;
fstreamfile("
book.txt"
ios:
:
in);
while
(1)
file.read((char*)&
b,sizeof(b));
if(!
file)break;
top++;
book[top]=b;
file.close();
voidclear()//全删
intaddbook(intn,char*na,char*au,char*n2,char*da,char*ti,intpr)//增加图书
Book*p=query(n);
if(p==NULL)
book[top].addbook(n,na,au,n2,da,ti,pr);
return1;
return0;
Book*query(intbookid)//查找图书
for(inti=0;
i<
=top;
i++)
if(book[i].getno()==bookid&
&
book[i].gettag()==0)
return&
book[i];
returnNULL;
Book*query2(intbookid,char*name)//按书名查找图书
for(inti=0;
i++)
if(strcmp(book[i].getname(),name)==0)
{bookid=book[i].getno();
return&
}
returnNULL;
Book*query3(intbookid,char*author)//按作者查找图书
if(strcmp(book[i].getauthor(),author)==0)
voidbookdata();
//图书库维护
voiddisp()
cout<
"
图书编号"
图书名字"
图书作者"
图书分类"
出版单位"
出版时间"
价格"
if(book[i].gettag()==0)
book[i].disp();
~BDatabase()//析构函数,将book[]写入book.txt文件中
out);
file.write((char*)&
book[i],sizeof(book[i]));
voidBDatabase:
bookdata()
intchoice=1;
intchoice2=1;
intchoice3=1;
intchoice4=1;
charbname[40];
charbauthor[10];
charbno2[20];
charbdan[20];
charbtime[20];
intbprice;
intbookid;
Book*b;
while(choice!
=0)
{cout<
endl<
cout<
************"
*1添加信息*"
*2修改信息*"
*3删除信息*"
*4信息查询*"
*5显示信息*"
*6全部删除*"
*0退出*"
请按键选择您需要的操作:
;
cin>
>
choice;
//如果输入的编号在菜单里不存在的情况---在for循环内部如果出现这样的错的时候
while(choice!
=1&
choice!
=2&
=3&
=4&
=5&
=6&
=0){
**您输入的编号在菜单里不存在,请重新输入**"
'
\a'
请选择您需要的操作:
cin>
choice;
switch(choice)
case1:
输入图书编号:
bookid;
cout<
输入图书书名:
bname;
输入作者名:
bauthor;
输入分类号:
cin>
bno2;
输入出版单位:
bdan;
输入出版时间:
btime;
输入价格:
bprice;
addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);
bookid<
添加成功;
按任意键返回菜单"
break;
case2:
"
输入图书编号:
b=query(bookid);
if(b==NULL)
该图书不存在"
<
endl;
*1书名*"
*2作者*"
*3分类号*"
*4出版单位*"
*5出版时间*"
*0退出系统*"
请输入要更改的:
1书名2作者名3分类号4出版单位5出版时间0退出"
choice2;
switch(choice2)
输入新的书名:
//修改图书名
b->
setname(bname);
输入新的作者名:
//修改图书作者
setauthor(bauthor);
case3:
输入新的分类号:
//修改图书的分类号
setno2(bno2);
case4:
输入新的出版单位:
//修改图书出版单位
setdan(bdan);
case5:
输入新的出版时间:
settime(btime);
//修改出版时间
delbook();
查找方式:
1按图书编号查询2按图书名查询3按作者名查询0退出:
choice3;
switch(choice3)
{cout<
//按图书编号查询
disp();
请输入图书名:
bname;
b=query2(bookid,bname);
if(b==NULL)
{
该图书不存在啊!
break;
b->
请输入作者名:
b=query3(bookid,bauthor);
该作者不存在!
case6:
clear();
★☆谢谢您的支持!
欢迎下次继续使用☆★"
voidmain()
{system("
color2f"
);
******************************************************"
请登录!
intq=0,w=1001;
number:
inte;
请输入账号"
e;
if(q==e)
number1:
intr;
请输入密码"
r;
if(w==r)
fstreamiofile;
if(!
iofile)
打开文件失败!
system("
cls"
BDatabaseBookDB;
intnb;
★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"
☆☆"
★欢迎使用图书馆信息管理系统★"
输入1进入菜单:
nb;
while(nb!
=1)
**您的输入有误**"
if(nb==1)
BookDB.bookdata();
else
*********************密码错误!
请重新输入*******************"
gotonumber1;
else
**********************账号错误!
gotonumber;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 图书馆 信息管理 系统 终结