C项目实践图书管理系统(1)AIAlgorithms

图书管理系统主要用于对大量的图书信息,包括书名、作者、出版社、出版日期、ISBN(书号)等进行增、删、改、查以及保存等操作。同时也包括对用户的管理,用户包括管理员和普通用户两种权限,管理员可以完成全部操作,而普通用户只能对图书进行浏览和查询操作。为保存信息,系统利用文件将图书信息和用户信息都存储在文件中,每次启动系统时,先将数据从文件中读取到单链表中,进行增、删、改、查等操作,在系统退出之前,再将单链表中的数据保存到文件中,有效地将数据进行保存。主要功能描述如下:

(3)新增图书信息,用户根据提示输入图书的书名、作者、出版社、出版日期、ISBN以及页数等数据。输入完一条图书信息,可根据提示继续输入下一条图书信息或继续其它操作,充许用户输入多条信息。输入完图书信息后,以单链表的形式暂时保存在单链表中,等待下一步操作。系统退出之前,将单链表中的全部图书信息保存到文件中。

(4)浏览图书信息,在选择了浏览图书操作后,将图书信息从内存中调出来显示,最后提示是否再次浏览图书信息。如果没有查询到任何信息,则给出提示信息。

(5)查询图书信息,进入查询子菜单,可以分别按书名、作者、出版社、出版日期、ISBN对单链表中的图书信息进行查询,其中按书名、作者、出版社和出版日期这四种查询实现的是模糊查询,按ISBN查询实现的是精确查询。

(6)删除图书信息,首先提示用户输入要删除的图书的ISBN,根据输入的ISBN号在单链表中查找,如果该图书存在,则首先显示该图书的基本信息,并提示用户是否进行删除操作,用户确认删除后,直接删除,如果没有找到,系统给出提示信息。

(7)保存图书信息,将单链表中的图书信息保存到文件中

(8)新增用户信息,只有管理员可以处理这个模块,根据提示信息输入用户名和密码以及权限。输入完一个用户信息后直接返回到主菜单界面,进行其它操作。充许输入多个用户信息,但用户名不充许重复。输入完的信息,在系统退出之前,会保存到文件中。

(10)保存用户信息,将单链表中的用户信息保存到文件中

(11)退出系统,在系统退出之前,保存用户和图书的信息,并释放掉链表,防止内存泄露。

2.总体设计

2.1功能模块设计

系统功能模块主要分为图书信息管理和用户管理两大部分。系统启动时,主函数首先调用init_user()函数对用户模块进行初始化操作,即设定最初的管理员的用户名(admin)和密码(123),并对文件进行初始设置,即用户文件不存在,则创建用户文件。再调用load_users()函数将用户文件中的用户信息加载到用户单链表中。接着调用init_book()函数对图书模块初始化操作,主要完成图书文件的初始设置,即图书文件不存在,则创建图书文件,再调用load_books()函数将图书文件的图书信息加载到图书单链表中。最后调用login()函数判断用户类型,如果是管理员权限,则调用show_admin_menu()函数进入管理员操作界面。如果是普通用户权限,则调用show_user_menu(),进入普通用户操作界面。接下来对模块的功能逐一介绍如下:

2.增加图书信息

系统调用add_book()函数以增加图书信息,调用input_book()函数完成图书信息的输入,将用户输入的信息添加到图书单链表中。输入完成之后提示用户是否继续增加图书的操作,如果用户输入"y"或"Y",则再次调用此函数,实现继续增加图书信息操作。否则返回主菜单界面。

3.浏览图书信息

4.查找图书信息

如果是管理员权限,调用show_search_book_menu()函数,进入管理员查询图书子菜单,可以分别按书名、作者、出版社、出版日期和国际标准书号(ISBN)进行查找,前四项支持模糊查询,只有按ISBN查找是精确查找。

(1)按书名查找

(2)按作者查找

调用search_book_by_author()函数按作者进行查询图书信息,具体操作步骤与按书名查询类似。

(3)按出版社查找

调用search_book_by_publisher()函数按出版社查询图书信息,具体操作步骤与按书名查询类似。

(4)按出版日期查询

调用search_book_by_pubdate()函数按出版日期查询图书信息,具体操作步骤与按书名查询类似。

(5)按ISBN查找

5.删除图书信息

系统调用delete_book()函数完成图书信息的删除操作。首先提示用户输入要删除的图书的ISBN信息,然后查询是否存在该ISBN信息的图书,如果不成功,则给出提示信息,如果查询成功,则提示是否确认删除,如果用户输入"Y"或"y",则删除该图书信息,否则返回主菜单界面。

6.保存图书信息

系统调用save_books()函数来保存图书信息。调用save_books_to_file()函数,完成将图书单链表中的图书信息保存到图书文件中。

7.新增用户信息

8.查找用户信息

系统调用search_user(0函数完成用户信息的查找操作。首先提示用户输入要查找的用户名,然后调用find_user()函数,查找该用户是否存在,如果该用户不存在,给出相应的提示信息。如果存在,则调用show_suer()函数显示该用户的信息,并充许对该用户信息进行更新或删除操作。提示用户按d/D键删除该用户信息,按u/U键更新该用户信息。根据用户的输入进行相应的操作,调用delete_user()函数删除用户信息,调用update_user()函数更新用户信息。所以查找用户信息结束后可分别选择调用delete_user()函数或update_user()函数或者什么都不做。

9.更新用户信息

在查询用户之后,调用update_user(0函数对该用户进行更新操作,首先调用input_user()函数输入用户信息,接着调用find_user()函数查找输入的用户名是否已经存在。由于用户名不充许重复,如果用户输入的用户名已存在,则给出相应的提示信息,如不存在,则进行更新操作。

10删除用户信息

在查询用户信之后,充许调用delete_user()函数对该用户进行删除操作,首先提示用户是否确认删除,如果用户输入"Y"或"y”,则删除该用户信息,否则提示用户继续查找操作。

11.保存用户信息

系统调用save_users()函数保存用户信息,调用save_uses_to_file()函数,将用户单链表中数据保存到文件中。

12.退出系统

不同权限的用户退出系统调用不同的函数来完成。

1.管理员退出系统

管理员权限退出系统调用admin_exit()函数。首先提示用户是否确定退出,如果用户输入"Y"或"y",再调用save_users_to_file()函数,将用户链表中的数据保存到用户文件中,调用clear_users()函数清空用户链表,最后调用save_books_to_file()函数将图书链表中的数据保存到文件中,调用clear_books()函数清空图书链表,用户输入的不是"Y"或"y",则不退出。

2.普通用户权限退出系统

普通用户权限退出系统调用user_exit()函数。首先提示用户是否确定退出,如果用户输入"y"或"Y",则调用clear_users()函数清空用户链表,调用clear_books()函数清空图书链表,如果不是输入的"Y'或"y"则不退出系统。

2.2系统处理流程

1.进入管理员主菜单界面,充许用户输入1-9之间的数值进行相应的操作,如果输入其它字符,则提示输入有误,并提示重新输入。

若输入1,则调用add_book()函数,进行新增图书信息操作。

若输入2,则调用view_book()函数,浏览图书信息

若输入3,则调用show_search_book_menu()函数进入查询子菜单界面,菜单充许用户输入1-6之间的数值进行相应的操作。如果输入1,则按书名查找,输入2,则按作者查找,输入3,则按出版社查找,输入4,则按出版日期查找,这四种查找方式支持模糊查找,如输入5则按ISBN号进行精确查找,输入6则返回主菜单界面。

若输入4,则调用delete_book()函数,进行删除图书信息操作。

若输入5,则调用save_books()函数,保存图书信息

若输入6,则调用add_user()h函数,新增用户信息

若输入7,则调用search_user()函数,进行查找用户信息操作,对于查找到的用户信息,充许进行更新(update_user())和删除(delete_user())操作。

若输入8,则调用save_users()函数,保存用户信息,

若输入9,则调用admin_exit()hans,退出系统。

若输入1,则调用view_book函数,浏览图书信息

若输入2,则调用search_book_by_name()函数,按书名查询图书信息

若输入3,则调用search_book_by_author()函数,按作者查询图书信息

若输入4,则调用search_book_by_publisher()函数,按出版社查询图书信息

若输入5,则调用search_book_by_pubdate()函数,按出版日期查询图书信息

若输入6,则调用search_book_by_isbn()函数,按ISBN号精确查找图书洗洗脑

若输入7,则调用user_exit()函数退出系统。

2.3详细设计与系统实现

首先通过vs新建win32ConsoleApplication,然后选择Emptyproj,单击Finished完成BookMng项目创建

首先定义5个常量,分别用来定义书名、出版社、出版日期、作者和ISBN的最大长度。具体定义如下:

//Structdefintiontypedefenum_USER_TYPE{ADMIN=0,//代表管理员USER//普通用户}USER_TYPE;.csharpcode,.csharpcodepre{font-size:small;color:rgba(0,0,0,1);font-family:consolas,"CourierNew",courier,monospace;background-color:rgba(255,255,255,1)}.csharpcodepre{margin:0}.csharpcode.rem{color:rgba(0,128,0,1)}.csharpcode.kwrd{color:rgba(0,0,255,1)}.csharpcode.str{color:rgba(0,96,128,1)}.csharpcode.op{color:rgba(0,0,192,1)}.csharpcode.preproc{color:rgba(204,102,51,1)}.csharpcode.asp{background-color:rgba(255,255,0,1)}.csharpcode.html{color:rgba(128,0,0,1)}.csharpcode.attr{color:rgba(255,0,0,1)}.csharpcode.alt{background-color:rgba(244,244,244,1);width:100%;margin:0}.csharpcode.lnum{color:rgba(96,96,96,1)}接下来需要定义一个结构体类型_user_info来描述用户的基本信息,使用typedef自定义一个新类型user_info。新类型中共3个成员,即用户名,密码和用户权限。具体实现如下:

typedefstruct_user_info{charusername[MAX_USERNAME];//用户名charpassword[MAX_PASSWORD];//密码USER_TYPEuser_type;//用户类型,0为管理员,1为普通用户}user_info;.csharpcode,.csharpcodepre{font-size:small;color:rgba(0,0,0,1);font-family:consolas,"CourierNew",courier,monospace;background-color:rgba(255,255,255,1)}.csharpcodepre{margin:0}.csharpcode.rem{color:rgba(0,128,0,1)}.csharpcode.kwrd{color:rgba(0,0,255,1)}.csharpcode.str{color:rgba(0,96,128,1)}.csharpcode.op{color:rgba(0,0,192,1)}.csharpcode.preproc{color:rgba(204,102,51,1)}.csharpcode.asp{background-color:rgba(255,255,0,1)}.csharpcode.html{color:rgba(128,0,0,1)}.csharpcode.attr{color:rgba(255,0,0,1)}.csharpcode.alt{background-color:rgba(244,244,244,1);width:100%;margin:0}.csharpcode.lnum{color:rgba(96,96,96,1)}为了将单个用户信息串联起来,下面再来定义一个单链表节点结构。即定义一个结构体类型_user,使用typedef自定义一个新类型user,其成员为存储用户基本信息的结构体变量和指向下一个用户的指针变量,共2个成员。具体实现如下:

THE END
1.JavaWeb图书管理系统在图书管理界面,管理员点击需被修改的图书记录后,在操作列表中点击“修改”选项后,会弹出对应图书的图书名称、图书编号、图书类别、图书作者、图书出版社、图书语言、图书价格、出版日期以及图书介绍等信息,管理员可以将部分信息修改为正确数据,最后点击“确认修改”选项后即可提交对对应图书信息的修改请求。 https://blog.csdn.net/weixin_56264090/article/details/130325210
2.图书管理信息系统(最新).ppt系统名称图书管理信息系统小组成员:010508141516目录1234系统简介系统功能介绍开发过程6789开发工具、运行环境系统建设中所需人员和使用人员系统使用对业务工作产生的影响给我们的生活、学习、工作带来的影响系统不完善之处及改进方案5子系统介绍一、系统简介由北京鼎丰软件工作室全新开发的一套图书馆管理软件图1:系统界面二、https://m.book118.com/html/2023/1231/6014014045010030.shtm
3.图书管理信息系统设计(通用8篇)篇2:图书管理信息系统设计 关键词:图书管理; 信息化; 系统; 1 系统技术关键 1.1 B/S模式 B/S模式是当前网络技术发展大环境下比较流行的系统架构的设计模块, B/S模式一般采用三层架构的模式分别是表示层、中间层以及数据层。 表示层:也称之用户层, 是系统来响应用户信息的层次, 也是对用户展现的层次用户通过用https://www.360wenmi.com/f/filecmtnv64d.html
4.图书管理信息系统实训报告(通用8篇)图书管理信息系统实训报告(通用8篇) 在学习、工作生活中,我们都不可避免地要接触到报告,其在写作上有一定的技巧。为了让您不再为写报告头疼,以下是小编为大家整理的图书管理信息系统实训报告(通用8篇),仅供参考,大家一起来看看吧。 图书管理信息系统实训报告1 https://www.ruiwen.com/baogao/6424062.html
5.图书馆信息管理系统图书馆信息管理系统 图书管理系统的设计与实现!增删改查 预备知识: (1)指针如何变成变量 #include<stdio.h>#include<stdlib.h>voidmain(){int*p=NULL;inta=1;//1.1 用变量的地址p=&a;*p=1001;printf("%d\n",*p);//1.2 动态内存申请p=(int*)malloc(sizeof(int));//malloc()函数需要 stdlib.h头https://www.jianshu.com/p/d78b72a7f915
6.图书信息管理系统图片图书信息管理系统素材免费下载包图网精选海量图书信息管理系统图片供您下载使用,免费高清图书信息管理系统图片素材,内容涵盖图书信息管理系统广告设计、插画UI、摄影配图、商务办公等各类应用场景,轻松编辑即可完成设计需求,包图网让设计更简单。https://ibaotu.com/tupian/tushuxinxiguanlixitong.html
7.图书管理信息系统的设计和实现TBECtis本图书管理信息系统是利用计算机管理信息处理的迅速、准确、可靠且具有强大存储能力的突出特点,全面提高图书馆的管理水平和工作效率,并以及时、完整的业务经营资料,为图书馆的及时转换提供一定的支持。本图书管理系统涵盖了六个主要的子系统:图书资料管理、读者资料管理、借书操作、还书操作、修改密码和查询处理,并通过信息http://blog.chinaunix.net/uid-20773055-id-577469.html
8.图书管理系统2、支持图书馆行业标准:《 ISO2709文献目录信息交换磁带记录格式》、《中国机读目录通讯格式CNMARC》、《国际标准书目著录》(ISBD)国际图联(IFLA)、GB3792.1中华人民共和国《文献著录总则》、《中国图书馆分类法》第五版; 图书管理系统功能: 1、模块管理:支持管理员控制开放系统多个模块,可管理图书管理、期款管理、读https://www.xzzhxy.com/software/124.html
9.图书管理系统设计与实现—看这篇就够了腾讯云开发者社区图书管理系统设计与实现 图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些https://www.cloud.tencent.com/developer/article/1697988
10.图书信息管理系统的设计与实现数据库技术 VB.NET 图书管理系统https://cdmd.cnki.com.cn/Article/CDMD-10384-1014142433.htm
11.JAVA实战练习之图书管理系统实现流程java在还书时,读者首先将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息。太过于繁琐了!所以,我们需求设计一个图书管理系统来方便学生的借书和图书馆管理书籍。 项目说明: 本系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。https://www.jb51.net/article/225929.htm
12.《管理信息系统:管理数字化企业第16版》((美)肯尼斯C.劳顿当当网图书频道在线销售正版《管理信息系统:管理数字化企业 第16版》,作者:(美)肯尼斯 C.劳顿(Kenneth C.Laudon) 简 P.劳顿(Jane P.Laudon) 著 黄丽华 俞东慧 译,出版社:清华大学出版社。最新《管理信息系统:管理数字化企业 第16版》简介、书评、试读、价格、图片http://product.dangdang.com/29592801.html
13.java图书馆信息管理系统一个简易的java图书馆信息管理系统,实现对学生信息的 录入、修改、删除、查询、统计等功能。https://www.iteye.com/resource/qq_40678690-11052369
14.interlib图书馆管理系统:用c++编写的图书管理系统项目,有增删改c++图书馆管理系统 开发语言:C++ 开发工具:Dev-cpp 其他特点:超过4.6万条的图书信息,超过1.5万条的用户信息,友好的可视化界面 介绍 概况 用c++编写的图书管理系统项目,已录入超过4.6 万条的图书信息和超过1.5万条的用户信息,有增删改查图书,增删改查用户,借还图书等功能。 https://gitee.com/aimaier4869/interlib-library-manager
15.管理信息系统(豆瓣)与前一版相比,《管理信息系统》新增加的章节为第四章Web开发的基本技术、第十二章电子商务和第十三章电子政务,此外,对其他各章也都根据管理信息系统的新发展做了修改和补充。《管理信息系统》配有教学演示软件,内容包括网上图书销售、旅馆管理、UML代码自动生成与逆向工程、航空预订票、文献查询等50多个管理应用软件https://book.douban.com/subject/1665640/