利用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;

如果有問題可以及時留言,謝謝大家支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章