- 47
- 0
- 约5.51千字
- 约 17页
- 2017-11-01 发布于重庆
- 举报
个人书籍管理系统的设计与实现报告正文
个人书籍管理系统的设计与实现
一、简介
1.设计目的:进一步理解查找和排序在实际系统要使用的数据结构以及施加在这些数据结构上的算法,锻炼学生运用所学数据结构的知识来解决实际问题的综合能力。
2.问题的描述:学生在自己的学习和生活中会拥有很多的书籍,对所购买的书籍进行分类和统计是一种良好的习惯。可以便于对这些知识资料的整理和查找使用。如果用文件来存储相关书籍的各种信息,包括分类、购买日期、价格、简介等等,辅之以程序来使用这些文件对里面的书籍信息进行统计和查询的工作将使得这种书籍管理工作变的轻松而有趣。简单个人书籍管理系统的开发就是为了解决这个实际问题的。
这个系统具备如下的功能:
存储书籍各种相关信息。
提供查找功能,按照多种关键码查找需要的书籍,查找成功可以修改记录的相关项。
提供排序功能,按照多种关键码对所有的书籍进行排序,例如按照购买日期进行排序。
其他辅助的维护工作。
二、数据结构的设计:
由于书籍的册数较多,而且要在程序不再运行的时候仍然要保持里面的数据,所以采用文件的形式放到存储器中。需要操作时,从文件中调入内存来进行查找和排序的工作,为了接收文件中的内容,要有一个数据结构与之对应,可以采用这样的结构体数组来接收数据。
typedef struct
{
int year;
int month;
int day; //具体的购买日期
}DATE;
typedef struct
{
DATE date; //购买日期
char name[20]; //书的名字
char author[8]; //书的作者
int type; //存放书的类别(0 计算机 1 物理 2 英语 3 数学)
int num; //存放书的位置编号
int price; //书的价格
}BOOK;
三、功能(函数)设计:
1.“菜单”模块menu( ):
此模块循环显示“请按键选择操作”命令菜单,接收键盘输入的
命令,检查命令是否合法,若合法则调用相应下层函数,若不合
法,则返回菜单,重新输入。
2.“输入”模块shuru( ):此模块接收从键盘输入的书籍信息,保
存到建立的信息表中。
3.“查找”模块chazhao( ):
此模块提供查找功能,用户可根据编号或者类别两种途径对信息表l中的书籍进行查找,根据用户输入的信息,从而查找出整本
书的信息,并通过调用打印函数将查找到的书籍信息显示出来。
4.“排序”模块sort( ):此模块有两种排序方法,按书名和类别进行排序,并通过打印函数将排过序的书籍信息显示出来。
5.“插入”模块insert( ):此模块接受从键盘输入的一条新的
记录,按“购买日期”顺序插入到信息表l中。
6.“删除”模块delete( ):此模块接收从键盘输入的一条记录
的“书名”,在信息表l中查找,如找到该记录则删除。
四、界面设计:
对界面进行一定的调整,使其看起来整齐、规范和美观,容易看出操作所需要的步骤和所需要输入的指令代码。
五、程序设计:
各函数功能说明及其流程图:
1.主函数main( )
a.函数功能:建立线性表,对相关的数据进行初始化,并对主界面进行设计,当选择执行相关的功能,调用相关的函数来实现所需要的功能。
b.函数流程图
2.按书名排序函数sort1( )
a.函数功能:将已有的书籍按书名排序。
b.函数流程图
是
否
是
否
3.按类别排序函数sort2( )
a.函数功能:将已有书籍按类别升序排列。
b.函数流程图
是
否
是
否
4.按编号查找函数chazhao1( )
a.函数功能:系统将根据用户输入的编号,找到对应的书籍,并通过调用print2函数显示找到的书籍信息。
b.函数流程图
是
否
是
您可能关注的文档
最近下载
- 2023年江苏省徐州市中考数学试卷.docx VIP
- 微党课认真落实三会一课制度PPT模板课件.pptx VIP
- 常见引流管的护理ppt课件.pptx
- 征兵理论考试题库及答案2025.docx VIP
- ZD中大力德 C20-800LRC驱动器说明书_V1.04.docx VIP
- 山西省英语中考试题及解答参考(2025年).docx VIP
- 05系列建筑标准设计图集05J7-1内装修-墙面、楼地面(上_共二册).pdf VIP
- 语文高考现代文阅读训练试题及答案共50篇.pdf VIP
- 区域数字基础设施碳足迹评估模型构建.pdf VIP
- 2025年特许金融分析师权益投资组合管理策略专题试卷及解析.pdf VIP
原创力文档

文档评论(0)