c++图书管理系统完整精华排版Word文件下载.docx
- 文档编号:5919706
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:16
- 大小:18.73KB
c++图书管理系统完整精华排版Word文件下载.docx
《c++图书管理系统完整精华排版Word文件下载.docx》由会员分享,可在线阅读,更多相关《c++图书管理系统完整精华排版Word文件下载.docx(16页珍藏版)》请在冰点文库上搜索。
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(name,na);
strcpy(author,au);
strcpy(no2,n2);
strcpy(dan,da);
strcpy(time,ti);
}
voiddisp()//输出图书
cout〈〈setw(10)〈〈no〈<
setw(10)〈<
name〈〈setw(10)
<
setw(10)<
〈author<
setw(10)〈〈no2<
〈setw(10)<
dan〈<
setw(10)<
〈time<
setw(10)〈〈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()//全删
top=—1;
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<
=top;
i++)
if(strcmp(book[i]。
getname(),name)==0)
{bookid=book[i]。
getno();
return&
book[i];
}
returnNULL;
Book*query3(intbookid,char*author)//按作者查找图书
=top;
if(strcmp(book[i]。
getauthor(),author)==0)
{bookid=book[i]。
getno();
voidbookdata();
//图书库维护
voiddisp()
cout<
〈"
图书编号"
"
图书名字”<
〈setw(10)〈<
图书作者"
图书分类"
〈<
setw(10)〈〈"
出版单位”<
出版时间”〈<
setw(10)〈<
价格”<
endl;
i〈=top;
if(book[i].gettag()==0)
book[i].disp();
~BDatabase()//析构函数,将book[]写入book.txt文件中
fstreamfile(”book。
txt"
,ios:
out);
if(book[i].gettag()==0)
file.write((char*)&
book[i],sizeof(book[i]));
file。
close();
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〈<
endl;
cout〈〈”************"
cout〈<
”*1添加信息*"
cout<
*2修改信息*”<
〈”*3删除信息*"
”*4信息查询*"
〈〈endl;
”*5显示信息*”<
”*6全部删除*"
〈”*0退出*”〈<
************”<
请按键选择您需要的操作:
”;
cin>
>
choice;
//如果输入的编号在菜单里不存在的情况--—在for循环内部如果出现这样的错的时候
while(choice!
=1&
&choice!
=2&
=3&&
choice!
=4&&
=5&&choice!
=6&
&
choice!
=0){
cout〈〈endl<
”**您输入的编号在菜单里不存在,请重新输入**"
〈'
\a’〈〈endl〈〈endl;
cout〈〈"
请选择您需要的操作:
cin〉>
choice;
switch(choice)
case1:
cout〈〈”输入图书编号:
cin〉〉bookid;
cout<
输入图书书名:
;
bname;
输入作者名:
;
〉bauthor;
cout<
”输入分类号:
cin>
bno2;
输入出版单位:
cin〉>
bdan;
cout〈〈"
输入出版时间:
cin>
btime;
输入价格:
bprice;
addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);
bookid〈〈”添加成功;
按任意键返回菜单"
break;
case2:
cout〈<
”输入图书编号:
bookid;
b=query(bookid);
if(b==NULL)
"
该图书不存在"
〈〈endl;
break;
”************"
〈”*1书名*”〈〈endl;
*2作者*"
”*3分类号*”〈<
”*4出版单位*”<
*5出版时间*"
*0退出系统*”〈<
************"
〈endl<
〈endl;
请输入要更改的:
1书名2作者名3分类号4出版单位5出版时间0退出”;
choice2;
switch(choice2)
case1:
”输入新的书名:
//修改图书名
cin〉〉bname;
b—〉setname(bname);
cout〈〈”输入新的作者名:
//修改图书作者
〉bauthor;
b->
setauthor(bauthor);
case3:
输入新的分类号:
//修改图书的分类号
〉bno2;
b—>
setno2(bno2);
case4:
输入新的出版单位:
//修改图书出版单位
bdan;
setdan(bdan);
case5:
输入新的出版时间:
”;
cin〉〉btime;
b—〉settime(btime);
//修改出版时间
cout〈〈”输入图书编号:
cout〈〈"
〈<
endl;
delbook();
case4:
cout〈〈”查找方式:
〈〈endl〈<
”1按图书编号查询2按图书名查询3按作者名查询0退出:
cin〉〉choice3;
switch(choice3)
{cout<
”输入图书编号:
//按图书编号查询
b=query(bookid);
<
〈endl;
b-〉disp();
cout〈<
请输入图书名:
〉bname;
b=query2(bookid,bname);
if(b==NULL)
{
该图书不存在啊!
”<
break;
}
b->
disp();
break;
case3:
{
”请输入作者名:
cin〉〉bauthor;
b=query3(bookid,bauthor);
该作者不存在!
”〈〈endl;
b—>
case6:
clear();
cout〈〈endl〈〈”★☆谢谢您的支持!
欢迎下次继续使用☆★"
};
voidmain()
{system("
color2f"
);
cout〈〈endl;
cout〈〈endl;
******************************************************”〈〈endl;
”请登录!
”<
”******************************************************"
〈〈endl;
cout〈〈endl;
cout〈〈endl;
intq=0,w=1001;
number:
inte;
请输入账号"
e;
if(q==e)
number1:
intr;
请输入密码”<
r;
if(w==r)
fstreamiofile;
if(!
iofile)
”打开文件失败!
system(”cls”);
BDatabaseBookDB;
intnb;
★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★”<
〈”☆☆”<
☆☆”〈<
cout〈〈”★欢迎使用图书馆信息管理系统★"
〈”☆☆"
”☆☆”<
★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"
cout〈〈endl<
endl<
〈”输入1进入菜单:
nb;
while(nb!
=1)
{cout〈〈endl<
**您的输入有误**"
'
\a'
”输入1进入菜单:
if(nb==1)
BookDB.bookdata();
else
cout〈〈”*********************密码错误!
请重新输入*******************”〈<
gotonumber1;
else
”**********************账号错误!
请重新输入*******************"
gotonumber;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 图书 管理 系统 完整 精华 排版
![提示](https://static.bingdoc.com/images/bang_tan.gif)