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

📄 cmanagebooks.cpp

📁 自己通过老师指导做的图书管理系统
💻 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 + -