第一章 使用的数据结构
https://gitee.com/mayonaka/LibraryManageSystem
百度云:https://pan.baidu.com/s/1G95yPyGG080b6yXcjc8B0g
提取码:4q8b
程序无非就是数据结构+算法。而数据结构就是程序中用来组织数据的方法。本次编写的图书管理系统用的是一个比较简单的数据结构:链表。
首先,先确定图书管理系统中需要存储的数据。
1. 书,书的属性有:书名,作者,类型,介绍,还有为了唯一标记一本书,给他一个id。
2. 用户:姓名,密码,还有id。
3. 用户借阅的书:人的id,书的id,借阅时间。
因为要用链表要储存这些数据,所以要从这些数据中抽象一个父类出来作为链表中的节点(总不能为它们每一个都建立一个链表吧,那样维护起来太难),我们发现,每一个数据都有一个共同的属性,那就是id,因此,建立一个只有id属性的类作为它们的基类,在链表中使用这个基类作为节点。
//基类
class NodeType
{
public:
// 通过id来判断是否是要找的节点
virtual bool Compare(int id);
int GetId();
void SetId(int id);
NodeType* GetNext();
void SetNext(NodeType* node);
protected:
int id;
NodeType* next = NULL;
};
//用户类
class UserType : public NodeType
{
public:
QString GetName();
void SetName(QString name);
QString GetPassword();
void SetPassword(QString password);
protected:
QString name;
QString password;
};
//书类
class BookType : public NodeType
{