C++图书馆管理系统Word文件下载.docx
- 文档编号:5926682
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:17
- 大小:166.33KB
C++图书馆管理系统Word文件下载.docx
《C++图书馆管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++图书馆管理系统Word文件下载.docx(17页珍藏版)》请在冰点文库上搜索。
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〈<
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];
//图书记录
public:
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)
top++;
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]。
return&
book[i];
}
voidbookdata();
//图书库维护
voiddisp()
cout<
〈setw(10)〈〈”图书编号"
〈<
setw(10)〈〈”图书名字"
〈〈setw(10)<
”图书作者"
setw(10)<
〈”图书分类”〈〈setw(10)〈〈”出版单位"
〈setw(10)<
"
出版时间"
”价格"
endl;
for(inti=0;
if(book[i].gettag()==0)
book[i].disp();
~BDatabase()//析构函数,将book[]写入book.txt文件中
ios:
out);
i〈=top;
if(book[i]。
gettag()==0)
file.write((char*)&book[i],sizeof(book[i]));
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<
************”<
〈endl;
”*1添加信息*”〈〈endl;
cout〈<
”*2修改信息*”〈<
”*3删除信息*"
cout〈〈”*4信息查询*"
cout〈〈”*5显示信息*”<
cout〈〈"
*6全部删除*”<
*0退出*"
************"
〈〈endl<
endl<
”请按键选择您需要的操作:
;
cin>
>
choice;
//如果输入的编号在菜单里不存在的情况———在for循环内部如果出现这样的错的时候
while(choice!
=1&
choice!
=2&
&choice!
=3&
=4&
=5&&
choice!
=6&&
=0){
〈”**您输入的编号在菜单里不存在,请重新输入**"
’\a’<
endl〈<
cout〈<
”请选择您需要的操作:
”;
cin〉>
choice;
switch(choice)
case1:
cout〈<
输入图书编号:
”;
〉bookid;
cout〈〈”输入图书书名:
bname;
cout〈〈"
输入作者名:
;
cin〉〉bauthor;
cout〈〈”输入分类号:
cin>
bno2;
输入出版单位:
〉bdan;
cout〈〈”输入出版时间:
btime;
”输入价格:
cin〉〉bprice;
addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);
图书编号"
bookid<
〈”添加成功,继续添加请按9,返回菜单按8”;
〉choice4;
if(choice4==9)
choice=1;
elsechoice=5;
break;
case2:
〈"
输入图书编号:
b=query(bookid);
if(b==NULL)
cout〈〈”该图书不存在”〈〈endl;
break;
”************”〈<
*1书名*”<
〈"
*2作者*"
〈〈endl;
*3分类号*"
*4出版单位*”〈〈endl;
”*5出版时间*"
〈〈endl;
*0退出系统*”〈〈endl;
”************”〈〈endl<
cout〈〈”请输入要更改的:
1书名2作者名3分类号4出版单位5出版时间0退出”;
choice2;
switch(choice2)
case1:
"
输入新的书名:
//修改图书名
〉bname;
b->
setname(bname);
”输入新的作者名:
//修改图书作者
〉bauthor;
setauthor(bauthor);
case3:
”输入新的分类号:
//修改图书的分类号
cin〉>
setno2(bno2);
case4:
”输入新的出版单位:
//修改图书出版单位
bdan;
setdan(bdan);
case5:
输入新的出版时间:
〉btime;
b—〉settime(btime);
//修改出版时间
case3:
cout〈〈"
cin〉>
bookid;
b=query(bookid);
〈”该图书不存在"
〈<
endl;
b-〉delbook();
查找方式:
”<
endl〈〈”1按图书编号查询2按图书名查询3按作者名查询0退出:
cin〉〉choice3;
switch(choice3)
{cout〈<
//按图书编号查询
〉bookid;
<
〈endl;
disp();
case2:
”请输入图书名:
cin>
〉bname;
b=query2(bookid,bname);
if(b==NULL)
{
”该图书不存在啊!
break;
}
b—〉disp();
break;
{
cout〈〈”请输入作者名:
bauthor;
b=query3(bookid,bauthor);
”该作者不存在!
b—〉disp();
disp();
case6:
clear();
endl〈〈”★☆谢谢您的支持!
欢迎下次继续使用☆★"
endl〈〈endl;
voidmain()
BDatabaseBookDB;
Book*b;
intnb;
cout〈〈endl〈〈endl;
★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"
cout〈〈”☆☆"
”☆☆"
”★欢迎使用图书馆信息管理系统★”〈<
〈”★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"
〈endl〈<
输入1进入菜单:
nb;
while(nb!
=1)
**您的输入有误**"
〈'
\a'
〈endl〈〈"
输入1进入菜单:
if(nb==1)
BookDB.bookdata();
运行结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 图书馆 管理 系统