资源简介

c++ 面向对象 图书管理系统 课程设计

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 

using namespace std;

#define rm 5

class book
{
public:
int id;
int tag;// shi fou cun zai zhe  lei shu;
char name[20];
int onshelfcount;
int outcount;
public:
int getid(){return id;}
char* getname(){return name;}
int getonshelfcount(){return onshelfcount;}
int getoutcount(){return outcount;}
int gettag(){return tag;}

public:

void addbook(int nochar *naint count)
{
id=no;strcpy(namena);tag=1;
onshelfcount=count;outcount=0;
}
void deletebook(){tag=0;}

void disp()
{
cout< }
int borrowbook()
{
if(tag==0)
{
cout<<“无此书“< return 0;
}
else if(onshelfcount==0)
{
cout<<“已借完“< disp();
return 0;
}
else
{
onshelfcount--;outcount++;
disp();
cout<<“借书成功“< return 1;
}
}
int retbook()
{
if(tag==0)
{
cout<<“无此书,不能还“< return 0;
}
else if(outcount==0)
{
cout<<“此书没有借出,不能还“< disp();
return 0;
}
else
{
onshelfcount++;outcount--;
disp();
cout<<“还书成功“< return 1; 
}

}
};




class Books
{
private:
book bk[100];
int top;
public:
Books()
{
book b;
top=-1;
fstream file(“book.txt“ios::in);
while(1)
{
file.read((char*)&bsizeof(b));

if(!file) break;
top++;
bk[top]=b;
}
file.close();
}
~Books()
{

fstream file(“book.txt“ios::out);
for(int i=0;i<=top;i++)
{
if(bk[i].gettag()==1)
{
file.write((char*)&bk[i]sizeof(bk[i]));
}
}
file.close();
}

void clear(){top=-1;}

book* query(int bookid)
{
for(int i=0;i<=top;i++)
{
if(bk[i].getid()==bookid&&bk[i].gettag()==1)
{
return &bk[i];
}
}
// cout<<“查无此书“< return NULL;
}

int addbook(int idchar na[]int count)
{
book*p=query(id);
if(p==NULL)
{
top++;
bk[top].addbook(idnacount);
return 1;
}
else
{
cout<<“该书已经存在“< return 0;
}
}
void bookdata();
void disp()
{
cout< for(int i=0;i<=top;i++)
{
if(bk[i].gettag()==1)
{
bk[i].disp();
}
}
}
};



void Books::bookdata()
{
int choicechoice2;
char bookname[20];
int bookid;
int bookcount;
book *p;
cout<<“图书管理“< do
{
cout<<“\t\t\t“<<“1新增图书“< cout<<“\t\t\t“<<“2修改图书“< cout<<“\t\t\t“<<“3删除图书“< cout<<“\t\t\t“<<“4查找图书“< cout<<“\t\t\t“<<“5显示全部图书“< cout<<“\t\t\t“<<“6删除全部图书“< cout<<“\t\t\t“<<“0退出图书管理“<
cout<<“输入选项:“;cin>>choice;

switch(choice)
{
case 1:
            cout<<“输入图书的编号、书名、数目:“;
cin>>bookid>>bookname>>bookcount;
Books::addbook(bookidbooknamebookcount);

评论

共有 条评论