C++图书馆管理系统.docx

上传人:b****5 文档编号:7471243 上传时间:2023-01-24 格式:DOCX 页数:15 大小:246.65KB
下载 相关 举报
C++图书馆管理系统.docx_第1页
第1页 / 共15页
C++图书馆管理系统.docx_第2页
第2页 / 共15页
C++图书馆管理系统.docx_第3页
第3页 / 共15页
C++图书馆管理系统.docx_第4页
第4页 / 共15页
C++图书馆管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C++图书馆管理系统.docx

《C++图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《C++图书馆管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

C++图书馆管理系统.docx

C++图书馆管理系统

图书馆管理系统

//图书管理系统

#include

#include

#include

#include

usingnamespacestd;

constintMaxb=10000;//最多的图书

classBook//图书类

{

inttag;//删除标记1:

已删0:

未删

intno;//图书编号

charname[20];//书名

charauthor[10];//作者名

charno2[10];//输入分类号

chardan[20];//输入出版单位

chartime[20];//出版时间

intprice;//价格

public:

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(name,na);

strcpy(author,au);

strcpy(no2,n2);

strcpy(dan,da);

strcpy(time,ti);

}

voiddisp()//输出图书

{

cout<

<

}

};

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)//按作者查找图书

{

for(inti=0;i<=top;i++)

if(strcmp(book[i].getauthor(),author)==0)

{bookid=book[i].getno();

return&book[i];

}

returnNULL;

}

voidbookdata();//图书库维护

voiddisp()

{

cout<

for(inti=0;i<=top;i++)

if(book[i].gettag()==0)

book[i].disp();

}

~BDatabase()//析构函数,将book[]写入book.txt文件中

{

fstreamfile("book.txt",ios:

:

out);

for(inti=0;i<=top;i++)

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<

cout<<"************"<

cout<<"*1添加信息*"<

cout<<"*2修改信息*"<

cout<<"*3删除信息*"<

cout<<"*4信息查询*"<

cout<<"*5显示信息*"<

cout<<"*6全部删除*"<

cout<<"*0退出*"<

cout<<"************"<

cout<

";

cin>>choice;

//如果输入的编号在菜单里不存在的情况---在for循环内部如果出现这样的错的时候

while(choice!

=1&&choice!

=2&&choice!

=3&&choice!

=4&&choice!

=5&&choice!

=6&&choice!

=0){

cout<

cout<<"请选择您需要的操作:

";

cin>>choice;

}

switch(choice)

{

case1:

cout<<"输入图书编号:

";

cin>>bookid;

cout<<"输入图书书名:

";

cin>>bname;

cout<<"输入作者名:

";

cin>>bauthor;

cout<<"输入分类号:

";

cin>>bno2;

cout<<"输入出版单位:

";

cin>>bdan;

cout<<"输入出版时间:

";

cin>>btime;

cout<<"输入价格:

";

cin>>bprice;

addbook(bookid,bname,bauthor,bno2,bdan,btime,bprice);

cout<<"图书编号"<

cin>>choice4;

if(choice4==9)

choice=1;

elsechoice=5;

break;

case2:

cout<<"输入图书编号:

";

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书不存在"<

break;

}

cout<

cout<<"************"<

cout<<"*1书名*"<

cout<<"*2作者*"<

cout<<"*3分类号*"<

cout<<"*4出版单位*"<

cout<<"*5出版时间*"<

cout<<"*0退出系统*"<

cout<<"************"<

cout<<"请输入要更改的:

1书名2作者名3分类号4出版单位5出版时间0退出";

cin>>choice2;

switch(choice2)

{

case1:

cout<<"输入新的书名:

";//修改图书名

cin>>bname;

b->setname(bname);

break;

case2:

cout<<"输入新的作者名:

";//修改图书作者

cin>>bauthor;

b->setauthor(bauthor);

break;

case3:

cout<<"输入新的分类号:

";//修改图书的分类号

cin>>bno2;

b->setno2(bno2);

break;

case4:

cout<<"输入新的出版单位:

";//修改图书出版单位

cin>>bdan;

b->setdan(bdan);

break;

case5:

cout<<"输入新的出版时间:

";

cin>>btime;

b->settime(btime);//修改出版时间

break;

}

break;

case3:

cout<<"输入图书编号:

";

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书不存在"<

break;

}

b->delbook();

break;

case4:

cout<<"查找方式:

"<

";

cin>>choice3;

switch(choice3)

{

case1:

{cout<<"输入图书编号:

";//按图书编号查询

cin>>bookid;

b=query(bookid);

if(b==NULL)

{

cout<<"该图书不存在"<

break;

}

b->disp();

}

break;

case2:

{

cout<<"请输入图书名:

";

cin>>bname;

b=query2(bookid,bname);

if(b==NULL)

{

cout<<"该图书不存在啊!

"<

break;

}

b->disp();

}

break;

case3:

{

cout<<"请输入作者名:

";

cin>>bauthor;

b=query3(bookid,bauthor);

if(b==NULL)

{

cout<<"该作者不存在!

"<

break;

}

b->disp();

}

break;

}

break;

case5:

disp();

break;

case6:

clear();

break;

}

}

cout<

欢迎下次继续使用☆★"<

};

voidmain()

{

BDatabaseBookDB;

Book*b;

intnb;

{

cout<

cout<<"★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"<

cout<<"☆☆"<

cout<<"☆☆"<

cout<<"★欢迎使用图书馆信息管理系统★"<

cout<<"☆☆"<

cout<<"☆☆"<

cout<<"★☆☆★☆☆★☆☆★☆☆★☆☆★☆☆★"<

}

cout<

";

cin>>nb;

while(nb!

=1)

{cout<

cout<

";

cin>>nb;

}

if(nb==1)

BookDB.bookdata();

}

运行结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1