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

📄 cmanagerauther.cpp

📁 图书管理系统 所有图书管理功能都有,包括借书 还书 查询
💻 CPP
字号:
// CManagerAuther.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "CManager.h"
#include "CBooks.h"
#include "CBooksApp.h"
#include "CMenuA.h"
#include "CManagerAuther.h"
#include <ostream.h>
#include <iostream.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

CManagerAuther::CManagerAuther():m_pParent(0)
{}

CManagerAuther::~CManagerAuther()
{}

int CManagerAuther::Find(void *auther)//查找
{//按书的作者查找
	if(!m_pParent)
		return -1;
	CString pStr=(char*)auther;
	int i,num,value=0;

	num=m_pParent->m_list.GetSize();
	for(i=0;i<num;i++)
	{
		if(m_pParent->m_list[i]==0)
			continue;
		pBook=(CBooks*)m_pParent->m_list[i];
		if(pBook->m_auther==pStr)//判断作者是否相同
		{	//调用对象manager的GetBook函数
			pBook=m_pParent->GetBook(i);
			//输出所找到的书籍
			cout<<"位置:"<<i<<endl
				<<"     "<<pBook->m_serialNumber<<"  "<<pBook->m_category<<"  "<<pBook->m_title<<"  "<<pBook->m_auther<<"  "<<pBook->m_press<<endl
				<<"     "<<pBook->m_publicDate.m_year<<"/"<<pBook->m_publicDate.m_month<<"/"<<pBook->m_publicDate.m_day<<"  "
				<<"     "<<pBook->m_price<<"  "
				<<"     "<<pBook->m_purchaseDate.m_year<<"/"<<pBook->m_purchaseDate.m_month<<"/"<<pBook->m_purchaseDate.m_day<<endl
				<<"     "<<pBook->m_lender.m_name<<"  "<<pBook->m_lender.m_certificateNo<<"  "<<pBook->m_lender.m_sex<<"  "<<pBook->m_lender.m_type<<"  "<<endl
				<<"     "<<pBook->m_lendDate.m_year<<"/"<<pBook->m_lendDate.m_month<<"/"<<pBook->m_lendDate.m_day<<"  "
				<<"     "<<pBook->m_returnDate.m_year<<"/"<<pBook->m_returnDate.m_month<<"/"<<pBook->m_returnDate.m_day<<endl
				<<endl;  
			value=1;
		}
	}
	return value;
}

void CManagerAuther::Delete (void *auther)//删除
{//按书的作者删除
	CString pStr=(char*)auther;
	int i=0,num;
	num=m_pParent->m_list.GetSize();

	for(i=0;i<num;i++)
	{
		if(m_pParent->m_list[i]==0)
			continue;
		pBook=(CBooks*)m_pParent->m_list[i];
		if(pBook->m_auther==pStr)//判断作者是否相同
		{
			delete pBook;
			//删除指定索引处的数组元素
			m_pParent->m_list.RemoveAt(i);

			pBook=new CBooks;
			m_pParent->m_list.InsertAt(i,pBook);
		}
	}  
}

void CManagerAuther::Sort()//排序
{//按书的作者排序,冒泡排序法
	int i,j,num;
	num=m_pParent->m_list.GetSize();
	for(i=0;i<num;i++)
	{
		if(m_pParent->m_list[i]==0)
			continue;
		CBooks *b1=(CBooks*)m_pParent->m_list[i];
		for(j=i+1;j<num;j++)
		{
			if(m_pParent->m_list[j]==0)
				continue;
			CBooks *b2=(CBooks*)m_pParent->m_list[j];
			if(b2->m_auther<b1->m_auther)//判断两个作者的大小
			{
				m_pParent->m_list.RemoveAt(i);
				//在指定索引处插入一个元素
				m_pParent->m_list.InsertAt(i,b2);
				m_pParent->m_list.RemoveAt(j);
				m_pParent->m_list.InsertAt(j,b1);
				b1=b2;
			}
		}
	}
}

⌨️ 快捷键说明

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