图书馆管理系统源代码

这是一个使用C++编写的图书馆管理系统,包括读者类Reader和图书类Book,以及对应的读者库RDatabase和图书库BDatabase。系统支持读者和图书的增删查改,借书和还书操作,并通过文件进行数据持久化。
摘要由CSDN通过智能技术生成
/*****************************************************************************************/
#include <iostream>
#include <iomanip>
#include <cstring>
#include <fstream>//输入/输出文件流类
using namespace std;
const int Maxr=100;//最多的读者
const int Maxb=100;//最多的图书
const int Maxbor=5;//每位读者最多借五本书
//读者类,实现对读者的信息的描述

class Reader       
{   
    private:
	int tag;  //删除标记 1:已删 0:未删
	int no;   //读者编号
	char name[10];  //读者姓名
	int borbook[Maxbor];//所借图书
    public:
		Reader() {}
    	char *getname() {return name;}      //获取姓名
		int gettag() {return tag;}         //获取删除标记
	    int getno() {return no;}           //获取读者编号
    	void setname(char na[])            //设置姓名
		{ 
		   strcpy(name,na);
		
		}
	void delbook(){  tag=1;  }//设置删除标记 1:已删 0:未删
	void addreader(int n,char *na)//增加读者
	{ 
		tag=0;
		no=n;
		strcpy(name,na);
		for(int i=0;i<Maxbor;i++)
			borbook[i]=0;
	}
	void borrowbook(int bookid)//借书操作
	{
		for(int i=0;i<Maxbor;i++)
		{ 
			if (borbook[i]==0)
			{
				borbook[i]=bookid;
				return;
				
			}
		}
		
	}
	int retbook(int bookid)//还书操作
	{ 
		for(int i=0;i<Maxbor;i++)
		{ 
			if(borbook[i]==bookid)
			{
			borbook[i]=0;
			return 1;
			
			}
		}
		return 0;
	}
	void disp()//读出读者信息
	{ 
		cout << setw(5) << no <<setw(10) << name<<"借书编号:[";
		for(int i=0;i<Maxbor;i++)
			if(borbook[i]!=0)
				cout << borbook[i] << "|";
		cout << "]"<<endl;
			
	}
};

//读者类库,实现建立读者的个人资料
 class RDatabase
{  
private:
   int top;       //读者记录指针
   Reader read[Maxr];//读者记录
publi
图书管理系统数据库源代码 //创建工程及设计主界面 public class Main extends JFrame { private static final JDesktopPane { DESKTOP_PANE=new JDesktopPane(); //桌面窗体 } public static void main(String[] args) //入口方法 { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //设置系统界面外观 new BookLogin(); //登录窗口 } catch(Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame iframe) //添加子窗体的方法 { DESKTOP_PANE。add(iframe); //新增子窗体 } public Main() { super(); //设置"关闭"按钮处理事件 setDefaultCloseOperation(WindowConstants。EXIT_ON_CLOSE); //创建工具栏 Toolkit tool=Toolkit,getDefaultToolkit(); //获得屏幕大小 Dimension screenSize=tool.getScreenSize(); setSize(800,600); //设置窗体大小 setLocation((screenSize.width—getWidth())/2,(screenSize。height- getHeight())/2; //设置窗体位置 setTitle("图书管理系统"); //设置窗体标题 JMenuBar menuBar=createMenu(); //创建菜单栏 setJMenuBar(menuBar); //设置菜单栏 JToolBar toolBar=createToolBar(); //创建工具栏的方法 getContentPane(),add(toolBar,BorderLayout。NORTH); //设置工具栏 final JLable lable=new JLable(); //创建一个标签,用来显示图片 lable。setBounds(0,0,0,0); //设置窗体的大小和位置 lable。setIcon(null); //窗体背景 DESKTOP_PANE.addComponentListener(new ComponentAdapter()) { public void componentResized(final ComponentEvent e) { Dimension size=e。getComponent().getSize(); //获得组建大小 lable。setSize(e.getComponent().getSize()); //设置标签大小 lable.setText("〈html><img width="+size.width+"height="+size.height+"src='"+this.getClass().getResourc e("/backImg。jpg")+"'〉</html〉"); //设置标签文本,设置窗口背景 } } //将标签添加到桌面窗体 DESKTOP_PANE。add(lable,new Integer(Integer。MIN_VALUE)); getContentPane().add(DESKTOP_PANE); //将桌面窗体添加到主窗体中 } } private JToolBar createToolBar() //创建工具栏的方法 { JToolBar toolBar=new JToolBar(); //初始化工具栏 toolBar.setFloatable(false); //设置是否可以移动工具栏 toolBar.setBorder(new BevelBorder(BevelBorder。RAIZED)); //设置边框 //图书信息添加按钮 JButton bookAddButton=new JButton(MenuActions.BOOK_ADD); ImageIcon icon=new ImageIcon(Main.class.getResource("/bookAddtb.jpg")); //添加菜单栏图标 bookAddButton.setIcon(icon); //设置按钮图标 bookAddButton.setHideActionText(true); //显
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值