📄 cmanagerauther.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 + -