《数据结构》课程大作业题目列表(3)

2019-08-17 14:28

6. 图书管理系统

6.1. 问题描述

图书信息表所表示的是一个数据库文件。图书管理一般包括:图书采编、图书编目、图书查询与图书流通(借、还书)等。要求设计一个图书管理信息系统,用计算机实现上述系统功能。图书管理系统的基本业务活动包括:对一本书的采编入库,清除库存,借阅和归还等等。试设计一个图书管理系统,将上诉业务活动借助于计算机系统完成。

6.2. 功能描述

? 每种书的登记内容至少包括书号,书名,著者,现存量和总库存量等五项 ? 基本业务活动通过书号(即关键字)进行,所以可考虑用B树(2-3)对书号建

立索引,以获得高效率。

? 建立一个图书信息数据文件来存储图书信息,并以书号、书名、作者及出版社为

关键字为图书文件建立若干索引文件。 ? 系统应实现的操作及其功能定义如下:

1. 采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去,如果这种书再帐目中有,则只将总库存量增加;

2. 清除库存:某种书已无保留价值,将从图书帐目中注销; 3. 查询:提供关于书号、书名、作者及出版社的图书查询;

4. 借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限;

5. 归还:注销对借阅者的登记,改变该书的现存根据实际情况而定。

6.3. 设计要求

1. 建立一个图书信息数据库文件来存储图书信息。用户可输入若干种书的记

录,系统建立一个以书号为关键字的索引文件;在主数据库文件中建立以书名、作者以及出版社作为关键字的索引以及对应的索引链头文件,如下图所示: 记录书号 号 1 1021 书名 数据指针1 0 作者 指针2 李小0 出版社 人民指针3 0 分藏书类 量 021 8 借出数 0 2 3 4 5 6 7 8 1041 1106 1108 1203 2105 1012 0109 库 数据结构 操作系统 数据结构 程序设计 数据库 数据结构 程序设计 0 0 2 0 1 4 5 云 刘晓阳 许海平 孙华英 李小云 孙海平 李小云 刘晓阳 0 0 0 1 3 5 2 邮电 中国科学 人民邮电 清华大学 中国科学 清华大学 人民邮电 清华大学 0 1 0 2 4 3 6 013 024 013 035 021 013 035 6 7 5 6 6 5 7 0 0 0 0 0 0 0 书名 数据库 数据结构 操作系统 程序设计 作者 李小云 刘晓阳 许海平 孙华英 出版社 人民邮电 中国科学 清华大学 a) 图书主索引文件 链头地址 6 7 3 8 b)书名索引链头文件 链头地址 7 8 6 4 c)作者索引链头文件 链头指针 7 5 8 d)出版社索引链头文件 长度 2 3 1 2 长度 3 2 2 1 长度 3 2 3 2. 建立关于书号、书名、作者及出版社的图书查询;

3. 实现图书的借还子系统,包括建立读者文件、借还文件、读者管理及图书借

还等相关的处理。

4. 实现提示

? 2-3树的查找算法是基础,入库和清除操作都要调要。难点在于删除关键字的

算法,因而只要算法对2-3树适用就可以了。

? 每种书的记录可以用动(或静)态链式结构,借阅登记信息可以链接在相应的那

种书的记录之后

5. 选作内容

? 将一次会话过程(即程序一次运行)中的全部人机对话记入一个日志文件“log”

中去。

? 增加列出某著者全部著作名的操作。思考如何提高这一操作的效率。

? 增加列出某种书状态的操作。状态信息除了包括这种书记录的全部信息外还包括

最早到期(包括预期)的借阅者证号,日期可用整数实现,以求简化。 ? 增加预约借书功能。

6. 设计报告格式及主要内容

(1)需求分析说明文档

(2)概要设计(系统的总体结构、功能模块之间接口) (3)详细设计(模块功能说明,主要数据结构的说明)

(4)测试计划与报告:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。

(5)源程序清单和执行结果:源程序清单中每个类和方法都应有足够的注释。 (参考数据结构题集(C语言版)P 167)

7. 简单文本编辑器

7.1. 问题描述

参照Turbo C编辑器或Windows的记事本等文本编辑器,使用串的技术设计一个功能简单的文本编辑器,要求具备字符录入、删除、光标移动、查找等基本功能。

7.2. 功能描述

从文件系统中打开文本文件(文件名为edit.txt,位于当前执行程序的目录下),可以进行简单的编辑操作,要求:

(1) 每行最多不超过80个字符,共N行(N>=1); (2) 可以进行文字的添加、删除; (3) 可以通过光标定位到指定位置;

(4) 查找字串并定位光标(快捷键:CTRL+F或CTRL+S); (5) 退出(快捷键:ESC)。

存储结构使用链表和串,分别用几个子函数实现相应的功能。

输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

7.3. 设计要求

实现对串的基本操作(插入、删除、查找)函数,并在此基础上,建立以串为结点单元的单链表,屏幕的每行对应单链表的每个串结点,通过光标的上、下、左、右、翻页移动,进行链表的结点的定位,实现一个简单文本编辑器的基本功能。

7.4. 设计报告格式及主要内容

(1)需求分析说明文档

(2)概要设计(系统的总体结构、功能模块之间接口) (3)详细设计(模块功能说明,主要数据结构的说明)

(4)测试计划与报告:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。

(5)源程序清单和执行结果:源程序清单中每个类和方法都应有足够的注释。

8. 排课软件

8.1. 问题描述

大学的每个专业都要进行排课。假设任何专业都有固定的学习年限,每学年含两学期,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的。每门课程恰好占一个学期,假定每天上午与下午各有5节课。试在这样的前提下设计一个教学计划编制程序。

8.2. 功能要求

1、 输入数据包括:各学期所开的课程数(必须使每学期所开的课程数之和与课程总数相

等),课程编号,课程名称,周学时数,指定开课学期,先决条件。如指定开课学期为0,表示由电脑自行制定开课学期。

2、 如输入数据不合理,比如每学期所开的课程数之和与课程总数不相等,应显示适当的提

示信息。

3、 试用文本文件存储输入数据。

4、 试用文本文件存储产生的各学期的课表。

8.3. 设计要求

可参考如下的课程结构定义: //课程结构 struct CourseType

{ char courseNo[5]; //课程编号 char courseName[100]; //课程名 int period; //学时数 int term; //开设学期 } 在课程表类Schedule中,包括输入与输出流文件,有向图,顶点入度,每学期应开设的课程数等数据成员,还包括读数据、写排课结果,利用拓扑排序的方法等。

课程信息由文件course_inf.txt表示,为了提高可读性,以//开始的行为注释行。 course_inf.txt如下: //课程编号 课程名称 学时数 指定开课学期 先修课程 C01 程序设计基础 5 0 C02 离散数学 6 0 C01 C03 数据结构 4 0 C01,C02 C04 汇编语言 5 0 C01 C05 算法设计与分析 4 0 C03,C04

C06 计算机体系结构 6 0 C11 C07 编译原理 5 0 C03 C08 操作系统原理 4 0 C05,C06 C09 高等数学 6 0 C10 线性代数 6 0 C09 C11 普通物理 4 0 C09 C12 数值分析 6 0 C09,C10,C11 C30 英语 5 1 C31 英语 5 2 C32 英语 5 3 C33 英语 5 4 C34 英语 5 5 C35 英语 5 6 C36 英语 5 7 C37 英语 5 8 C38 大学语文 3 1

//下面为各学期所开的课程数,必须使每学期所开的课程数之和与课程总数相等 6 7 3 6 5 5 5 1


《数据结构》课程大作业题目列表(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新人教版七年级下第八章二元一次方程组导学案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: