数据结构课程设计--图书检索系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆科技学院
《数据结构》课程设计
报告
学院:_电气与信息工程学院_ 专业班级:计科2010-X
学生姓名: XXX 学号: XXX
设计地点(单位)__ _ 计算机基础自主学习中心 __ _ _
设计题目:____ __ __图书检索系统 _____________ ____
完成日期:2012年 1 月 13 日
指导教师评语: ______________________
__________________________________________________________________________________ __________________________________________________________________________________ _____________________________________ __________ _
成绩(五级记分制):______ __________
指导教师(签字):________ ________
重庆科技学院
课程设计任务书
设计题目:图书检索系统的设计
系主任:雷亮指导教师:向毅/彭军/王双明/龙冯文/黄永文
2011年 12月 26日
摘要
随着时代的发展,科技的进步,传统的图书管理是必然会被计算机上的图书管理系统所替代;和人工管理图书相比,图书管理系统具有较大的优点,例如:查找方便、检索迅速、整理方便等。
在本课程设计是正是用于图书的管理,本系统是基于数据结构中的链表完成的。在本系统中,具有新增图书、修改图书信息、删除图书信息、查找图书、根据不同的图书内容进行排序、还可将图书信息写入文件中。在整个运行过程中,本系统运用c++文件输入输出流对信息进行存储,对于图书的排序,本系统运用了冒泡排序和简单选择排序,可以清楚地将图书信息显示在屏幕上。
关键字:数据结构链表 c++ 排序
目录
1 设计内容和要求 (1)
1.1 图书检索系统基本要求 (1)
1.2 主要功能的设计要求 (2)
2 需求分析 (3)
2.1 界面设计分析 (3)
2.2 文件保存方法 (3)
3 系统设计 (5)
3.1 总体功能分析 (5)
3.2 总体流程图 (5)
4 主要功能设计 (6)
4.1 新增图书模块 (6)
4.2 查找图书模块 (6)
4.3 修改图书模块 (7)
4.4 删除图书模块 (7)
4.5 图书信息排序模块 (8)
5系统代码分析与测试 (9)
5.1 系统主要代码分析 (9)
5.2 新建追加信息代码分析 (11)
5.3 查找修改删除代码分析 (12)
5.5 图书排序代码分析 (14)
总结 (18)
致谢 (19)
参考文献 (20)
1 设计内容和要求
1.1 图书检索系统基本要求
(1)图书检索系统主菜单界面的设计:程序采用的是使用者根据系统的界面提示而选择相应功能的控制型界面,只需跟着系统提示即可进行功能的选择,界面效果图如下:
图1.1.1 主菜单界面效果图
(2)其他界面的设计:在其他界面功能运行完成时,界面会显示“请按任意键继续”字样(如下图1.1.2),当使用者按任意键后,屏幕即可接着显示提示用户的界面,
图1.1.2 界面提示字样图
(3)图书检索系统数据结构要求:本系统主要是运用链表将图书信息存储在内存上,其次运用文件输入输出流将链表中的信息写入相应文件夹中。总之,在进行系统的运行时,系统将会自动将图书信息存储在链表中;在系统关闭时,图书信息将存储在文件夹中,且再次打开不会消失或者发生改变。
1.2 主要功能的设计要求
(1)新增图书功能:此功能用于初始建库和追加图书信息,且在每加如一种新书时总的类型个数也会有相应的增加。此功能要求使用者将图书信息通过键盘输入并且确认图书信息是否真确后才将图书信息写入文件夹中。
(2)修改图书信息功能:此功能时用于修改图书错误信息,此功能不会影响到其他图书信息,且不会改变图书总类型数量。此功能要求使用者将图书信息通过键盘输入到内存中,然后存入到文件夹中。
(3)删除图书信息功能:此功能是用于删除已经不存在的书籍,在删除一种图书时,图书总类型的总数也会有相应的改变。此功能只要求将所要删除书籍信息的书名输入即可。
(4)查找图书功能:此功能是用于查找使用者所需要的书籍,可通过书名和作者姓名进行查找,此功能不会改变系统中的图书信息。此功能只需按照界面提示和输入所要查找信息即可。
(5)排序功能:此功能将系统中的图书信息根绝书名、作者、价格、字数、出版时间等进行不同的排序,并且将排序后的信息显示在屏幕上,同时也会将信息写入文件中。
(6)显示图书信息功能:此功能是将文件中的所有图书信息显示到屏幕上,此功能不会修改图书信息的任何部分,只可用于浏览图书信息。
(7)退出检索系统:此功能用于退出整个检索系统的,只需按操作界面意外的数字即可安全退出此系统。
2 需求分析
2.1 界面设计分析
界面的设计运用的c++的标准输入输出流,只需将字符输出到屏幕上即可,具体代码如下:
void menu()
{
cout<<"+--------------------------------主菜单--------------------------------+"< cout<<"|--------------------------新增图书请按【1】-----------------------|"< cout<<"|--------------------------修改图书请按【2】-----------------------|"< cout<<"|--------------------------删除图书请按【3】-----------------------|"< cout<<"|--------------------------查找图书请按【4】-----------------------|"< cout<<"|--------------------------价格排序请按【5】-----------------------|"< cout<<"|--------------------------书名排序请按【6】-----------------------|"< cout<<"|--------------------------字数排序请按【7】-----------------------|"< cout<<"|--------------------------出版日期排序【8】-----------------------|"< cout<<"|--------------------------出版社排序按【9】-----------------------|"< cout<<"|--------------------------显示书库请按【0】-----------------------|"< cout<<"+--------------------------按任意数字退出--------------------------+"< } 所对应的效果图如第一章中图1.1.1 主菜单界面效果图。 2.2 文件保存方法 本系统中运用的是c++中的文件输入输出流,打开文件运用的是open函数,其中open函数中的参数为文件路径名和文件打开方式,其中需注意的是系统中运用了较多类型的输入输出流,如:ios::out、ios::in、ios::app,其中代表的意思如下:(1)ios::out 以输出(写入)方式打开文件夹,且ios::out打开文件以后,从