利用mysql设计图书管理系统(3)--图书管理系统c语言源代码

这几天一直在改改改代码,不过可能还是有一点小小的bug,如果到时候发现了还希望大家不吝赐教。本人也只是大一的菜鸟。。。还希望大佬们不要喷我…
因为我也买了阿里云的数据库,所以我这里的连接就用的是阿里云的,当然也可以用自己本地的,不过这样有一个不好,就是其他用户很难去访问,(当然也不是不可以)

使用的时候需要修改以下内容

1.c源代码主要就是要修改这个地方
mysql_real_connect(mysql,“地址”,“用户名”,“密码”,“library”,3306,NULL,0);
地址的话就要根据你的数据库使用情况修改,如果是本地的数据库的话一般就是localhost,如果是阿里云数据库的话可以在数据库实例里面设置外网地址,大概是这样的rm-2ze9g5if8j748p237bi.mysql.rds.aliyuncs.com,就直接把这个放在地址里面,用户名和密码就不用说了,然后library是我使用的数据库,如果用的话希望可以保持一致,3306默认

create database library;
use library;

2.数据库结构
book这是book数据表,用来存放book信息,其中id是主键并且自增
remain是剩余数量,stillalive是是否在书架上,year是出版时间,fans是热度

CREATE TABLE `book` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `writer` varchar(32) DEFAULT NULL,
  `type` varchar(32) DEFAULT NULL,
  `remain` int(11) DEFAULT NULL,
  `fans` int(11) unsigned DEFAULT '0',
  `year` int(11) DEFAULT NULL,
  `stillalive` int(11) unsigned DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;

在这里插入图片描述这是borrow数据表,用来存放当前借阅的图书
设置的归还时间是1个月

CREATE TABLE `borrow` (
  `username` varchar(32) DEFAULT NULL,
  `bookname` varchar(32) DEFAULT NULL,
  `borrowtime` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `duetime` varchar(32) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在这里插入图片描述
这是borrow_list存放的是所有借阅的记录,id主键自增,backtime是记录用户真正的归还时间

CREATE TABLE `borrow_list` (
  `id` int(32) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `bookname` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `borrowtime` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `backtime` varchar(32) DEFAULT 0,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

在这里插入图片描述这是users数据表,密码没有加密,当然也可以选择加密
我的程序里面只允许用户名为root用户作为管理员,rematintime是剩余借阅次数

CREATE TABLE `users` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(32) DEFAULT NULL,
  `password` varchar(32) DEFAULT NULL,
  `sex` varchar(5) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '1' COMMENT '男或者女',
  `workplace` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `remaintime` int(11) unsigned DEFAULT '5',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

代码可能用户界面比较丑。。。对不起。。还希望不要嫌弃

功能如下

1.登录, 2.注册 3.注销,4.退出(这是登录层面的)
一.查询服务
二.图书数据管理服务(只支持管理员),
三.借书服务,
四.还书服务,
五.用户信息修改服务,
六.退出服务

一.查询服务
{
1.书名查找,
2.作者查找,
3.类别查找
,4.模糊查找,
5.出版年份查找,
6.显示当前所有书籍,
{
1书号升序
2书号降序
3书名升序
4书名降序
5作者名升序
6 作者名降序
}
7.查询当前用户信息,
8.查询图书借阅记录,
9.退出查询服务\n");
}

二.图书数据管理服务:
{
1.添加书籍,
2.删除书籍,(通过具体的方式)
{
1.id,
2.书的全程,
3.作者名称,
4.退出删除
}
3.修改书籍数据,
{
1.书名,
2.作者姓名,
3.余量,
4.热度
5.出版时间,
6.类型,
7.退出修改服务
4.显示当前有书籍
{
1书号升序
2书号降序
3书名升序
4书名降序
5作者名升序
6 作者名降序
}
5.显示当前所有用户信息,
6.退出图书数据管理服务
三四就不说了
五.用户信息修改服务,
{
1.用户名修改,
2.密码修改,
3.性别修改,
4.单位修改,
5.退出图用户信息修改服务
}

ok,为了方便大家浏览下载,我已经上传到了github上,也会不定时发布更新信息,也会修复已知bug,还希望大家多多支持
图书管理系统

对了,我修改了一下borrow_list的结构,希望大家注意一下
backtime varchar(32) DEFAULT NULL,改成了backtime varchar(32) DEFAULT 0,

如果你还没有配置mysql结构的话,就按照上面操作就可以,我已经修改了
如果你已经之前配置过了mysql结构,可能需要修改一下 ,命令如下

 alter table borrow_list alter column backtime set default 0;

如果有问题可以及时留言,谢谢大家支持

猜你喜欢

转载自blog.csdn.net/azraelxuemo/article/details/106232038