📄 cmanagebooks.cpp
字号:
#include "stdafx.h"
#include <iomanip>
#include <iostream>
#include <string>
#include "CFind.h"
#include "CManageBooks.h"
using namespace std;
extern CManageBooks * pBase;
LinkList *CManageBooks::LinkPtr=new LinkList;
int CManageBooks::wid[6]={1,7,8,16,20,9};
string CManageBooks::k[6]={"编号","书名","作者","出版单位","出版日期","单价"};
void CManageBooks::ShowMenu(){
cout<<endl;
cout<<"*******************图书管理系统*****************\n";
cout<<"1 预览\t2 查找\t3 添加\t4 保存\t5按照图书序号删除"<<endl;
cout<<"****************************************************\n";
cout<<"6 按照作者名删除\t7按照书名删除\t0 退出\n";
cout<<"****************************************************\n";
}
void CManageBooks::OnBrower()
{
for(int i=0;i<6;i++)
cout<<setw(wid[i])<<k[i];
cout<<endl;
LinkPtr->displayLinkList();
}
void CManageBooks::OnInvalidateInput(char*str)
{
cout<<str<<endl;
}
bool CManageBooks::InitialData()//变量data进行初始化
{
if(LinkPtr->ReadList("Book.txt"))
return true;
else
return false;
}
bool CManageBooks::OnSave( )
{
if(LinkPtr->SaveList("Book.txt"))
return true;
else
return false;
}
void CManageBooks::OnAddData()
{
Books *p=new Books;
cout<<"输入图书的编号(如0001):";
cin>>p->m_ID;
cout<<"输入图书的书名:";
cin>>p->m_BookName;
cout<<"输入图书的作者";
cin>>p->m_Author;
cout<<" 输入图书的出版社:";
cin>>p->m_press;
cout<<"输入图书出版的日期如(年月日):";
cin>>p->m_publicDate.m_year>>p->m_publicDate.m_month>>p->m_publicDate.m_day;
cout<<"输入图书的价格(如29.6):";
cin>>p->m_price;
cout<<"图书信息已输完毕!"<<endl;
LinkPtr->AddBooks(p);
}
void CManageBooks::OnDeleteID()
{
string id;
cout<<"请输入书籍的编号:";
cin>>id;
Books *p,*s;
p=LinkPtr->head->next;
s=p;
while(p!=LinkPtr->SearchByID(id))
{
s=p;
p=p->next;
}
if(p)
{
cout<<*p<<endl;
s->next=p->next;
delete p;
}
}
void CManageBooks::OnDeleteAuthor()
{
string author;
cout<<"请输入作者姓名:";
cin>>author;
Books *p,*s;
p=LinkPtr->head->next;
s=p;
while(p!=LinkPtr->SearchByAuthor(author))
{
s=p;
p=p->next;
}
if(p)
{
cout<<*p<<endl;
s->next=p->next;
delete p;
}
}
void CManageBooks::OnDeleteBookName()
{
string bookname;
cout<<"请输入书名:";
cin>>bookname;
Books *p,*s;
p=LinkPtr->head->next;
s=p;
while(p!=LinkPtr->SearchByBookName(bookname))
{
s=p;
p=p->next;
}
if(p)
{
cout<<*p<<endl;
s->next=p->next;
delete p;
}
}
void CManageBooks::OnFind()
{
pBase=new CFind(pBase);
}
void CManageBooks::DoEvent(int ID) {
switch(ID)
{
case 1:
OnBrower();
break;
case 2:
OnFind();
break;
case 3:
OnAddData();
break;
case 4:
OnSave();
break;
case 5:
OnDeleteID();
break;
case 6:
OnDeleteAuthor();
break;
case 7:
OnDeleteBookName();
break;
case 0:
cout<<"Good Bey!\n";
exit(0);
default:
OnInvalidateInput("输入,,,,");
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -