利用C语言创建图书管理系统

不仅仅是图书信息管理系统

基于双链表,采用面向对象编程方法制作的图书管理系统

效果演示

root用户:账号:0,密码:0

普通用户:账号:1001,密码:666666

图书信息

没有完全演示,只是个大概,微信gif只能300帧以内


框架结构

数据层:双链表管理

核心层:用户管理、图书管理

用户管理:

用户分三种:readonly、write、root(可删除数据)

功能:Exit(退出), Add(添加), Show(显示), Change(修改), Delete(删除), Search(查找)

图书管理:

权限分级:暂未实现(可自行实现)

功能:EXIT(退出), ADD(添加), SHOW(显示), CHANGE(修改), DELETE(删除), SEARCH(查找)

ps:用这个双链表框架可以解决99.9%的各种信息管理系统(增删改查)问题,那%0.1就是给自己留的后路,毕竟没有什么问题可以100%解决

以后再跟我提xxx管理系统我就给你扔过去这对代码,自己去实现

核心部分:双链表的实现

双链表

typedefstruct deroy_node
{
    void* data;
    struct deroy_node* prev;
    struct deroy_node* next;
}deroy_node_t;
typedefderoy_node_t* deroy_node_pt;


typedefstruct deroy_list
{
    int  limit_size;
    deroy_node_pt head;
    deroy_node_pt tail;
}deroy_list_t;
typedefderoy_list_t* deroy_list_pt;

为什么链表里面的data是void*呢,谭浩强的C语言不是这样教的啊

void类型是空类型,可以转成任意一种类型,你不知道你插入的数据的结构体是什么,或者说你要插入多种数据的结构体,确定的结构体已经不能够满足需求了,需要定义void*类型来指向你要添加进链表的结构体数据

我们需要实现一些函数来管理链表,注意o,前方高能,小白勿看

功能函数

/*初始化链表*/
deroy_list_pt deroy_list_create(void);
/*插入节点*/
int deroy_list_insert_before(deroy_list_t** list_head, int num, void* new_node_data);
/*删除节点*/
int deroy_list_delete(deroy_list_t** list_head, int num);
/*修改节点*/
int deroy_list_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值