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.图书查询系统功能需求:系统需要实现用户登录和注册功能、图书信息的增删改查功能。 性能需求:系统需要具备良好的性能,能够快速响应用户的操作和查询请求。 安全需求:系统需要保障用户的个人信息安全,采取合适的安全措施,如密码加密存储、访问控制等。 本图书查询系统的任务是实现一个可靠、高效、易用的图书查询和管理系统,旨在帮助用户https://blog.csdn.net/2401_86779185/article/details/141360039
2.图书馆管理系统因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆https://www.fwsir.com/ligong/html/ligong_20070130182525_25748.html
3.图书馆信息管理系统图书馆信息管理系统 图书管理系统的设计与实现!增删改查 预备知识: (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
4.图书管理系统可行性研究报告(精选6篇)在当下社会,报告的使用频率呈上升趋势,我们在写报告的时候要注意逻辑的合理性。相信许多人会觉得报告很难写吧,下面是小编为大家整理的图书管理系统可行性研究报告(精选6篇),供大家参考借鉴,希望可以帮助到有需要的朋友。 图书管理系统可行性研究报告1 第1章 引言 https://m.ruiwen.com/baogao/6424056.html
5.图书馆应具备哪些功能1、登录系统功能 它主要提供用户登录功能,并按各个用户提供的权限使用图书馆管理系统,其权限大概包括:权限查询,管理权限,借还书管理,超级管理员(用于管理系统的各个功能等),图书分类,管理登录帐户,管理逾期书籍等。 2、查询系统功能 该功能主要用于查询图书,其中直接查询包括图书编号、书名、作者、出版社查询等单一条件https://m.yyk.iask.sina.com.cn/q/87iQpl28NfEp.html
6.图书管理系统流程图书管理系统流程 篇1 系统功能结构设计 综合考虑系统的逻辑模型和设计系统目标的要求绘制的系统功能结构 系统的主要功能 本系统包含如下的几个模块:身份验证、借阅图书、归还图书、打印催还单、信息查询、系统维护以及退出。 用户登录 系统运行后首先进入用户登录界面,用户登录的界面 https://www.jy135.com/guanli/162184.html
7.中小学图书管理系统中小学图书管理系统下载v3.0免费版中小学图书管理系统安装教程 中小学图书管理系统是一款通用性极强的图书管理软件,适用于中小学图书规模的图书馆,拥有图书借还、图书查询、借阅管理、读者管理等功能模块,避免图书摆放错乱、丢失等问题,帮助图书馆工作人员减轻工作量。 中小学图书管理系统简介 https://www.wmzhe.com/soft-36923.html?tdsourcetag=s_pcqq_aiomsg
8.JAVA实战练习之图书管理系统实现流程java在还书时,读者首先将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息。太过于繁琐了!所以,我们需求设计一个图书管理系统来方便学生的借书和图书馆管理书籍。 项目说明: 本系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。https://www.jb51.net/article/225929.htm
9.Java编程案例简单实现图书添加与查询功能(附源码)代码示例中,我们定义了一个Book类,其中包含图书的属性(书名、书号、价格、数量和作者)和相关方法(添加图书、根据ID查询图书、根据作者名查询图书、根据价格范围筛选图书)。然后,在BookTest类中,我们通过main方法来测试图书管理系统的功能。 结论: 这个简单的Java图书管理系统实现了图书的添加和查询功能,通过面向对象编程https://cloud.tencent.com/developer/article/2370512
10.许昌学院信息化系统使用指南(教师版)2.4功能模块介绍。 2.4.1智能咨询服务 2.4.2虚拟卡服务 2.4.3科研服务 2.4.4查询服务 2.4.5地图服务(虚拟校园、校园漫游) 2.4.6图书馆服务 2.4.7报修服务 2.4.8其他服务 3协同办公系统(OA系统) 3.1Web页面访问 3.1.1登录 3.1.2 OA常用功能模块介绍 https://wlzx.xcu.edu.cn/info/1025/2091.htm
11.天皓图书管理系统破解天皓图书管理系统破解 功能详情 1、借还管理方法:图书资料管理方法、期刊管理资料、阅读者管理资料、处罚管理方法、图书销户、期刊销户等功能。 2、数据信息查询:图书资料查询、期刊材料查询、阅读者材料查询、图书阅览查询、期刊阅览查询等功能。 3、今天汇总:今天借出去图书、今天借出去期刊、今天偿还图书、今天偿还期刊http://www.winwin7.com/soft/9383.html
12.智慧校园建设之图书馆管理系统书香满校园,阅读伴成长,读书使人智慧,读书也使孩子们健康成长,新学期,焕然一新的图书馆又重新开放了,新一代的图书管理服务平台已在图书馆中运行,该系统的功能将会给全校师生更优质和便捷的服务。 传统的学校图书馆管理模式,在借书方面,读者需要携带借书卡借阅,过程繁琐。目前,随着智慧校园的建设,可以利用人脸识别系统https://www.hbjhart.cn/tsg/info/1084/1476.htm
13.试题1某图书管理系统的主要功能是图书管理和信息查询。对于初次系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。 1.购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。 https://www.cnitpm.com/st/2451515446.html