图书管理系统(c语言)

图书管理系统

通过c语言链表来实现图书的增删改查

源码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//3.数据的设计
    //3.1程序的数据存储--->容器
    //3.2数据的结构 --->图书的信息

struct bookInfo
{
    char name[20];  //书名
    float price;    //书籍的价格
    int num;        //书籍的数量
};

//定义链表
struct Node
{
    struct bookInfo data;
    struct Node* next;
};

struct Node* list = NULL;  //将链表声明成全局变量

//创建表头:表头就是结构体变量
struct Node* createHead()
{
    //动态内存申请
    struct Node* headNode = (struct Node*)malloc(sizeof(struct Node));
    //变量初始化
    headNode->next = NULL;
    return headNode;
}

//创建节点:为插入做准备
    // 把用户的数据变成结构体变量
struct Node* createNode(struct bookInfo data)
{
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

//数据插入(头插法)
void insertNodeByHead(struct Node* headNode, struct bookInfo data)
{
    struct Node* newNode = createNode(data);
    newNode->next = headNode->next;
    headNode->next = newNode;
}

//指定删除(删除链表中元素)
//posLeftNode->next=posNode->next;
//free(posNode);
void deleteNodeByName(struct Node* headNode, char* bookname)
{
    struct Node* posLeftNode = headNode;
    struct Node* posNode = headNode->next;
    //书籍名字是字符串,字符串比较函数
    while (posNode != N

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
1.强化和巩固理论基础,掌握数据库编程的基本技巧; 2.要求用C/C++语言或其它语言及相应开发环境,实现一个小型完整程序的设计与开发; 3.巩固深化所学课程的知识,培养学生运用知识,分析和解决实际问题的能力。 系统概述: 1.图书管理: 每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容简介。图书信息登入、查询和维护。 2.借书证管理,包括申请、注销借书证,查询借书证持有人等。借书证记录有借阅者的姓名、所在单位、职业等。 3.凭借书证借书,每次最多能借8本书。借书期限最长为30天。 4.借还图书、资料的登记、超期处理,超期拒借等。 5.图书、资料查询,借、还图书和资料情况查询。 6.图书、资料借阅情况的统计分析,拒此作为图书图书、资料订够的依据之一。 设计要求: 1.进行需求分析,编写数据字典。 2.设计E-R图。 3.实现新进图书的数据录入。 4.实现对所有购进图书的分类查询和分类统计。 5.能够按书名、作者等分类查询现有图书的数量。 6.记录借阅者的个人资料和所借图书的书名、书号数据等。 2程序的主要功能 2.1添加功能 添加一本图书的基本信息,包括书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容简介。 添加图书证的基本信息,包括姓名、所在单位、职业。 添加图书借阅的基本信息,包括书号,借书证号,借书日期,应还书日期。 2.2删除功能 删除一本图书的基本信息,删除借书证的基本信息,删除图书借阅基本信息。 2.3显示功能 显示所有图书信息,包括图书代码,图书名称,作者,出版社和简介。 显示所有借阅信息,包括读者号,图书号,借书日期,应还书日期。 2.4查找功能
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eugeooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值