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.图书馆信息管理系统(源码+开题)图书馆管理信息系统本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。 系统程序文件列表 开题报告内容 图书馆信息管理系统研究背景、意义与目的 随着信息技术的发展和普及,人们对于信息获取和管理的需求日益增长。图书馆作为信息资源的集散地,其传统的管理方式已经无法满足现代社会的需求。因此,开发一套高效https://blog.csdn.net/qh603/article/details/135632726
2.基于SSM的图书信息管理系统设计与实现浙江大学远程教育学院本科毕业论文(设计)致谢基于SSM的图书信息管理系统设计与实现摘要本论文设计开发了一款图书信息管理系统,实现了对图书、读者和借阅、归还业务功能..https://www.docin.com/touch_new/preview_new.do?id=4691690940
3.图书信息管理系统设计任务书20240108194643.docx(1)题目:图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。 试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作 图书信息录入功能(图书信息用文件保存)--输入图书信息浏览功能--输出 查询和排序功能:(至少一种查询方式)--算法按书名查询 https://m.book118.com/html/2024/0108/7006165101006026.shtm
4.JAVA实战练习之图书管理系统实现流程java在还书时,读者首先将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息。太过于繁琐了!所以,我们需求设计一个图书管理系统来方便学生的借书和图书馆管理书籍。 项目说明: 本系统功能分为读者信息管理模块、图书信息管理模块、图书借阅管理模块、基础信息维护模块和用户管理模块。https://www.jb51.net/article/225929.htm
5.图书管理系统项目的组织架构图书管理系统架构设计本文主要阐述图书信息管理系统的设计与实现的逻辑和物理设计,主要由算法说明和伪代码组成。 一、实验内容 设计并实现一个图书信息管理系统。根据实验要求设计该系统的菜单和交互逻辑,并编码实现增删改查的各项功能。 该系统至少包含以下功能: (1)根据指定图书个数,逐个输入图书信息; https://blog.51cto.com/u_16213591/9050396
6.interlib图书馆管理系统:用c++编写的图书管理系统项目,有增删改c++图书馆管理系统 开发语言:C++ 开发工具:Dev-cpp 其他特点:超过4.6万条的图书信息,超过1.5万条的用户信息,友好的可视化界面 介绍 概况 用c++编写的图书管理系统项目,已录入超过4.6 万条的图书信息和超过1.5万条的用户信息,有增删改查图书,增删改查用户,借还图书等功能。 https://gitee.com/aimaier4869/interlib-library-manager
7.计算机信息管理论文信息系统需要敢于革新的企业文化基础,使其企业以往的工作性质,在信息化管理的基础上,得到人性化、完善、科学的调整和分配,从而更好的促进信息系统的应用和完善。对此就需要员工,具有不断革新的精神,打破以往的工作观念、思想,使其工作流程逐渐的向着计算机化发展,更好的发挥信息系统的功能。 https://www.yjbys.com/biyelunwen/fanwen/jisuanji/732691.html
8.《2024计算机技术与软件一本通信息系统项目管理师》(编著)简介当当网图书频道在线销售正版《2024计算机技术与软件一本通信息系统项目管理师》,作者:编著,出版社:天津科学技术出版社。最新《2024计算机技术与软件一本通信息系统项目管理师》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《2024计算机技术与软件一http://product.dangdang.com/29686184.html
9.图书管理系统项目总结(通用20篇)总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,它可以帮助我们总结以往思想,发扬成绩,因此,让我们写一份总结吧。那么你知道总结如何写吗?下面是小编整理的图书管理系统项目总结,仅供参考,希望能够帮助到大家。 图书管理系统项目总结 篇1 https://mip.wenshubang.com/xuexizongjie/490427.html
10.启明学院华中科技大学众创空间第十四批项目招募中,等你加入!2024/04/30 启明 MORE 一颗颗启明之星正冉冉升起 02 03 常用工具TOOLS 大学生创新创业电子档案系统 本科生科研信息系统 双创示范基地信息管理平台 智慧门禁系统 创新创业辅修专业系统 教室预约http://qiming.hust.edu.cn/
11.管理系统项目单一来源采购公示单一来源公示采用单一来源采购方式的原因及说明:中国知网大学生毕业设计(论文)管理系统满足2021届毕业生使用,具有统一的用户及权限管理机制,能够很方便地对系统进行全面的权限管理,可进行业务流程相关多个项目的系统设置,包括但不限于:课题类型、课题来源、学生和教师申报课题权限、申报课题和选题数量限制、课题修改模式和权限、任务书https://www.gsei.com.cn/html/1664/2020-09-03/content-290790.html
12.重磅来袭2021年第18届中国信息资源管理论坛孙建军,南京大学信息管理学院院长,博士生导师。国务院学位委员会第八届图书情报与档案管理学科评议组第二召集人、中国社会科学情报学会副理事长、信息系统协会中国分会副理事长。长期从事信息资源管理相关领域的研究,主持完成了国家自然科学基金项目、国家社科基金重大项目等多项纵、横向课题。获得教育部第六届高等学校科学https://www.mbachina.com/html/%E4%B8%AD%E5%9B%BD%E4%BA%BA%E6%B0%91%E5%A4%A7%E5%AD%A6%E4%BF%A1%E6%81%AF%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E5%AD%A6%E9%99%A2/202110/364481.html
13.信息系统项目管理师考试大纲(第2版)/技术与软件专业技术资格考试信息系统项目管理师考试大纲(第2版)/技术与软件专业技术资格考试指定用书 mobi epub pdf txt 电子书 下载 2024 - 图书大百科https://book.qciss.net/books/12176415
14.科学网—圕人堂周讯(总第420期20220527)天行健:“为建设信息管理与信息系统、大数据管理与应用本科专业和图书情报与档案管理(信息资源管理)、管理科学与工程学术硕士学位点及图书情报专业学位点,西南大学商贸学院亟须引进图书情报与档案管理(信息资源管理)、管理科学与工程、计算机科学与技术及相关专业的博士毕业生,有编制,达到学校职称评审条件者可评为副教授。https://wap.sciencenet.cn/blog-213646-1340467.html
15.《备考20252024软考高级信息系统项目管理师全国计算机技术与软件专自营 拾级图书京东自营官方旗舰店 备考2025 2024软考高级信息系统项目管理师 全国计算机 全国计算机专业技术资格考试办公室著 京东价 ¥ 促销 展开促销https://item.jd.com/13857860.html
16.鹤北中学(四)建立资产信息管理系统,做好资产的统计、报告、分析工 作,实现对资产的动态管理。 第四节 建设项目控制 第二十八条 建立健全建设项目内部管理制度。合理设置岗位,明确内部相关部门和岗位的职责权限,确保项目建议和可行性研究与项目决策、概预算编制与审核、项目实施与价款支付、竣工决算与竣工审计等不相容岗位相互分https://hbzx.mhedu.sh.cn/jwsb/aqgl/221729.htm
17.智慧校园平台,数字化校园解决方案,校园一卡通,图书管理系统科迅软件是专业从事智慧校园平台建设服务商,致力于校园一卡通、图书管理、电子图书馆、网络阅卷、教务管理等智慧校园系统产品的研发与运营,为学校提供一站式数字化校园管理系统解决方案,公司以渠道分销为主要发展模式,所有产品均独立自主研发,拥有完全知识产权。http://www.cnedustar.com/
18.泰安市档案馆档案编研编研成果2018《山东档案年鉴》(泰安卷)市档案局积极争取财政资金近60万元,顺利完成了《数字档案馆安全保密系统基础设施升级改造》项目的招标、建设及验收工作,设施设备运行良好;泰山区数字档案在线归档管理系统在政务网平台正式启用,真正达到了“三网四库”的标准,实现了档案信息资源的电子传输网络化、信息管理自动化、服务利用现代化的跨越式发展。https://dag.taian.cn/art/2018/4/8/art_70335_5823595.html
19.图书管理系统图书馆管理系统是RFID技术在校园信息化建设中的一项重要应用,图书馆是智能管理需求最为集中的场所,因此建设智慧图书馆信息管理系统具有很强的实用性。智慧图书馆管理系统以射频电子标签技术为基础,对图书文献、书库书架以及借阅者实现一体化标识。https://www.xzzhxy.com/software/124.html
20.图书管理信息系统实训报告(通用8篇)图书管理信息系统实训报告(通用8篇) 在学习、工作生活中,我们都不可避免地要接触到报告,其在写作上有一定的技巧。为了让您不再为写报告头疼,以下是小编为大家整理的图书管理信息系统实训报告(通用8篇),仅供参考,大家一起来看看吧。 图书管理信息系统实训报告1 https://www.ruiwen.com/baogao/6424062.html