⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bdatabase.cpp

📁 简单的图书馆管理软件
💻 CPP
字号:

#include"BDatabase.h"
#include"Reader.h"

BDatabase::BDatabase()//构造函数
	{
		top=-1;
		fstream file;
		file.open("book.txt",ios::in/*具有输入能力*/|ios::binary/*以二进制方式打开文件*/);
			while(1)
			{
				if(!file) break;
				top++;
				file.read((char*)&book[top],sizeof(book[top]));
			}
		file.close();
		top++;
	}
int BDatabase::addbook(int n,char *na)// 添加图书,加前先查找
	{
		Book *p=query(n);// 问题,询问
		if (p==NULL)
		{
			book[top].addbook(n,na);
			top++;
			return 1;
		}
		return 0;
	}
void BDatabase::bookdata()//功能选择
{
	int choice=1;
	char bname[40];
	int bookid;
	Book *b;
	while (choice!=0)
	{
		cout<<"图书管理:"<<endl;
		cout<<"1:新增图书"<<endl;
		cout<<"2:更改图书名"<<endl;
		cout<<"3:删除图书"<<endl;
		cout<<"4:查找图书"<<endl;
		cout<<"5:显示所有图书"<<endl;
		cout<<"0:退出"<<endl;
		cin>>choice;
		switch(choice)
		{
		case 1:
			cout<<"输入你要新加图书编号:"<<endl;
			cin>>bookid;
			cout<<"输入新的图书名:"<<endl;
				cin>>bname;
				addbook(bookid,bname);//增加图书
				break;
		case 2:
			cout<<"输入原图书编号:"<<endl;
			cin>>bookid;
			b=query(bookid);
			if(b==NULL)
			{
				cout<<"该书不存在"<<endl;
				break;
			}
			cout<<"输入新的书名:"<<endl;
			cin>>bname;
			b->setname(bname);
			break;
		case 3:
			cout<<"输入图书编号:"<<endl;
			cin>>bookid;
			b=query(bookid);
			if(b==NULL)
			{
				cout<<"该图书不存在"<<endl;
				break;
			}
			b->delbook();
			break;
		case 4:
			cout<<"输入图书编号:"<<endl;
			cin>>bookid;
			b=query(bookid);
			if(b==NULL)
			{
				cout<<"该图书不存在"<<endl;
				break;
			}
			b->disp();
			break;
		case 5:
			disp();
			break;
		}
	}
}
Book * BDatabase::query(int bookid)//查找图书
	{
			for(int i=0;i<top;i++)
				if (book[i].getno()==bookid&&book[i].gettag()==0)
					return &book[i];
				return NULL;
	}
void BDatabase::disp()
	{
		for (int i=0;i<top;i++)
			if (book[i].gettag()==0)
				book[i].disp();
	}
BDatabase::~BDatabase()//析构函数,将book[i]写入文件
	{
		fstream file("book.txt",ios::out/*具有输出能力*/|ios::binary);
		for (int i=0;i<top;i++)
				file.write((char *)&book[i],sizeof(book[i]));
		file.close();//关闭文件
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -