图书馆管理系统

文章描述了一个基于C++的图书馆管理系统实验,采用链表数据结构来存储图书信息。主要涉及链表的初始化、数据类型的定义、函数声明与实现,以及在main函数中调用这些操作。还包括读取book.txt文件填充链表的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图书馆管理系统实验
1.新建project
点击OK后工程如下:
项目的组织方式:需要被多个文件用到的变量声明,类的声明和函数声明放在头文件里,声明可以存放在多个不同的文件里,这些文件使用#include"*.h"来包含这些头文件。而这些变量的定义和函数定义和类的实现(可以理解为定义)在某个.cpp里实现,定义只需要定义一次。
2.项目文件的创建:
按链存储结构存储的线性表称为链表。链表的基本操作包括链表的初始化、取值、查找、插入元素、删除元素等。下面以图书管理系统的链表结构为对象,进行对应算法的实验。

一般编程使用3步骤:
第1步:数据类型及线性表的链式存储结构定义;
第2步:实现基本操作;
第3步:在main()中调用基本操作。
2.1链表的初始化
1、在struch.h文件中进行数据类型及线性表的链式存储结构定义

#ifndef __STRUCH_H__
#define __STRUCH_H__
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status; //Status 是函数返回值类型,其值是函数结果状态代码。
typedef int ElemType; //ElemType 为可定义的数据类型,此设为int类型

struct Book {
    char id[15];//ISBN
    char name[15];//书名
    double price;//定价
};
typedef struct LNode {
    Book data; //结点的数据域
    struct LNode *next; //结点的指针域
} LNode, *LinkList; //LinkList为指向结构体LNode的指针类型
#endif


说明:需要在main.cpp中  #include "struch.h"

2.2实现基本操作
新建一个books_operation.cpp文件用来存放对表的所有操作
2.2.1第一个操作,链表的初始化
链表的初始化操作就是构造一个空的链表。
算法2.1 链表的初始化
【算法步骤】


【算法描述】
#include<iostream>
#include<cstring>
#include "struch.h"
using namespace std;


//初始化
Status InitList_L(LinkList &L) { //算法2.6 单链表的初始化
    //构造一个空的单链表L
    L = new LNode; //生成新结点作为头结点,用头指针L指向头结点
    L->next = NULL; //头结点的指针域置空
    return OK;
}
void ShowBooks(LinkList L){
    LNode *p = L->next;
    cout << "ISBN" << "\t" << "书名" << "\t" << "价格";
    cout << "\n";
    while(p != NULL){
        cout << p->data.id << "\t" << p->data.name << "\t" << p->data.price << "\n";
        p = p->next;
    }
}

说明:要在头文件function_declare.h里声明函数
2.3 函数的声明写在头文件function_declare.h中

#ifndef __FUNCTION_H__
#define __FUNCTION_H__

Status InitList_L(LinkList &L);
#endif
说明:
#if

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值