C项目实践--图书管理系统(4)
前面已经把图书管理系统的所有功能模块都已实现完毕了,下面通过运行来分析该系统的操作流程并检验是否符合逻辑设计要求。
3.系统操作过程
F5 运行
1.登录系统
系统运行之后,提示输入用户名和密码,系统首次运行时的用户名和密码分别是 admin 和 123 , 管理员权限登录,进入管理员操作界面,如下是admin登录前面示意图。
图书管理系统登录... 请输入用户名:admin 请输入密码:***
|
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:
|
2新增图书
在主菜单中选择1,进入新增图书信息操作,用户根据提示输入要录入的图书信息,输入完一条信息后系统提示用户是否继续进行录入图书操作,如果用户输入"y"或"Y" 则继续录入下一条信息,否则返回主菜单。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:1 >新增图书... >请输入书名(最大长度为 20):数据结构 >请输入作者(最大长度为 20):严蔚敏 >请输入出版社(最大长度为 20):清华大学出版社 >请输入出版日期(最大长度为 10):2010-03 >请输入ISBN(最大长度为 20):2010116301 >请输入页数:351 >继续添加图书吗?(y or n): y >新增图书... >请输入书名(最大长度为 20):数据库原理 >请输入作者(最大长度为 20):Buhaoyis >请输入出版社(最大长度为 20):电子工业出版社 >请输入出版日期(最大长度为 10):20120316 >请输入ISBN(最大长度为 20):201231065 >请输入页数:2103 >继续添加图书吗?(y or n):
|
3.浏览图书
在主菜单选择2进入浏览图书信息界面,系统将会把单链表中的图书信息信息出来,超过5条记录信息则提示翻页显示,如果没有记录信息,则给出提示。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:2 +-------------------------------------------+ |书 名 |作 者 | +-------------------------------------------+ |C语言程序设计 |谭浩强 | +-------------------------------------------+ |数据结构 |严蔚敏 | +-------------------------------------------+ |数据库原理 |Buhaoyis | +-------------------------------------------+ |数据库项目实践 |梁明 | +-------------------------------------------+ |大数据案例分析 |景天 | +-------------------------------------------+ >显示下一页?(y or n):y |云计算之热点数据 |赵长天 | +-------------------------------------------+ >再次浏览图书吗?(y or n):
|
4.查找图书
在主菜单中选择3,进入查询子菜单界面,可以输入1-6,进行相应子菜单项的选择,1-4项支持模糊查询,第5项ISBN支持精确查询。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 查找图书 | | <1>按书名查 | | <2>按作者查找 | | <3>按出版社查找 | | <4>按出版日期查找 | | <5>按国际标准书号(ISBN)查找 | | <6>返回主菜单 | +-------------------------------------------+ >请选择要进行的操作:1 >查找图书... >请输入书名(最大长度为20):数据 -------------------------------------------- 书名: 数据结构 作者: 严蔚敏 出版社: 清华大学出版社 出版日期: 2010-03 ………………………………………………………… ISBN: 2010116301 页数: 351
-------------------------------------------- 书名: 数据库原理 作者: Buhaoyis 出版社: 电子工业出版社 出版日期: 20120316 ………………………………………………………… ISBN: 201231065 页数: 2103
-------------------------------------------- 书名: 数据库项目实践 作者: 梁明 出版社: 电子工业出版社 出版日期: 2010-09 ………………………………………………………… ISBN: 2010365 页数: 203
-------------------------------------------- 书名: 大数据案例分析 作者: 景天 出版社: 机械工业出版社 出版日期: 2012-09 ………………………………………………………… ISBN: 2012091103 页数: 315
-------------------------------------------- 书名: 云计算之热点数据 作者: 赵长天 出版社: 北京大学出版社 出版日期: 2011-03 ………………………………………………………… ISBN: 20110311 页数: 316
>共找到 5 本图书... >继续查找吗?(y or n):
|
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 查找图书 | | <1>按书名查 | | <2>按作者查找 | | <3>按出版社查找 | | <4>按出版日期查找 | | <5>按国际标准书号(ISBN)查找 | | <6>返回主菜单 | +-------------------------------------------+ >请选择要进行的操作:5 >查找图书... >请输入ISBN (最大长度为 20):20110311 >查找到图书... -------------------------------------------- 书名: 云计算之热点数据 作者: 赵长天 出版社: 北京大学出版社 出版日期: 2011-03 ………………………………………………………… ISBN: 20110311 页数: 316
>继续查找吗?(y or n)
|
5.删除图书信息
在主菜单中选择4进入删除操作界面,系统提示用户输入要删除的图书ISBN,如果该ISBN不存在,则给出提示信息,否则首先显示该图书信息,并提示是否确认删除该图书,用户输入"y"或"Y“,则删除该图书信息,否则提示是否继续删除操作,用户输入"y"或"Y“,则继续进行删除操作,否则返回主菜单界面。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:4 >删除图书... >请输入ISBN(最大长度为 20):20110311 -------------------------------------------- 书名: 云计算之热点数据 作者: 赵长天 出版社: 北京大学出版社 出版日期: 2011-03 ………………………………………………………… ISBN: 20110311 页数: 316
>确认删除吗?(y or n)n >继续删除其它图书吗?(y or n)n
|
6.保存图书信息
在主菜单选择5,进行保存操作,系统自动将单链表中的图书信息保存到图书文件中,并给出保存成功的提示信息。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:5 >保存成功! 按任意键返回...
|
7.新增用户
在主菜单中选择6 进入新增用户界面,根据提示信息输入用户名和密码,如果该用户名已经存在,则提示用户名已存在,并提示是否重新输入。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:6 >增加用户信息... >请输入用户名(最大长度为 10):admin >请输入密码(最大长度为 10):123 >请输入用户类型(0 是管理员,1 是普通用户):1 >用户[ admin ]已存在.重新输入?(y or n ):y >增加用户信息... >请输入用户名(最大长度为 10):Mike >请输入密码(最大长度为 10):123 >请输入用户类型(0 是管理员,1 是普通用户):1
|
8查找用户
在主菜单中选择7进入查找用户界面,用户可以根据提示输入待查找的用户名,如果存在,则显示该用户的信息,并充许更新或删除该用户信息,否则提示不存在该用户信息。
============================================= | 图书管理系统 | +-------------------------------------------+ | | | 图书管理 | | <1>新增图书 | | <2>浏览图书 | | <3>查找图书 | | <4>删除图书 | | <5>保存图书 | | | | 用户管理 | | <6>新增用户 | | <7>查找用户 | | <8>保存用户 | | | | <9>退出系统 | +-------------------------------------------+ >请选择要进行的操作:7 >查找用户信息... >请输入用户名(最大长度为 10):Mike ------------------------------------------ 用户名:Mike 密码:123 用户类型:user
>查找成功!按d/D键删除该用户,按u/U键更新该用户信息,按其它键返回!
|
9.保存用户
在主菜单中选8,进行保存操作。将用户链表中的数据保存到用户文件中,并给出保存成功信息提示。
10.退出系统
在主菜单中输入9,系统提示是否确认退出,用户输入"Y"或"y", 则退出系统。
如果是普通用户权限登录,则进入普通用户名操作界面。如图:
============================================= | 图书管理系统 | +-------------------------------------------+ | | | <1>浏览图书 | | <2>按书名查找图书 | | <3>按作者查找图书 | | <4>按出版社查找图书 | | <5>按出版日期查找图书 | | <6>按国际标准书号(ISBN)查找图书 | | <7>退出系统 | +-------------------------------------------+ 请选择要进行的操作:
|
至此,图书管理系统的整个操作流程已基本完成。
4.总结与Bug
Bug.1
1>management.obj : error LNK2001: unresolved external symbol _admin_exit
management.c 中的void amdin_exit() 应该写成void admin_exit()
凡事提示链接错误的,大多是函数写错了,导致找不到函数而报错,所以出现链接错误,一般可以根据链接提示定位到出错的文件, 比如这里 1>management.obj: xxxx , 则表示错误在 management.c这个文件中,然后看后面有个 xxx symbol_admin_exit 就说明这个函数有问题, 一般去看这个函数的声明形式和实现形式已经调用它的地方看这些地方哪出错了,找到修改就可以了。
本案例实现了一个相对完整的管理信息系统(MIS)-图书管理系统,并着重阐述了系统实现的设计思路和开发过程,涉及到图书信息管理,用户信息管理以及不同权限的管理等功能。本系统的实现主要利用单链表对数据进行增,删,改,查等操作的实现过程,以及将单链表中的数据读/写到文件中的过程。