1、1 1 学 号 数据结构课程设计 设计说明书 简单行编辑程序 起止日期: 2011 年 12 月 12 日 至 2011 年 12 月 16 日 学生姓名 班级 成绩 指 导 教 师 ( 签 字 ) 电子与信息工程电子与信息工程系系 2011 年年 12 月月 16 日日 1 2 课程设计任务书 20112012 学年第学年第 1 学期学期 电子与信息工程 系 软件工程 专业 班级 课程设计名称: 数据结构课程设计 设计题目: 简单行编辑程序 完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 设计依据、要求及主要内容(可另加附页) : 一、设计目的
2、熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。 二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务; (2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄 袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入 本课程设计成绩; (3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表; (4)认真编写课程设计报告。 三、设计内容 1)1)问题描述问题描述 文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修 改操作。限制这些操作以
3、行为单位进行的编辑程序称为行编辑程序。 被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法既不经济,也不总 能实现。一种解决方法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按 照这种方法实现一个简单的行编辑程序。设文件每行不超过 320 个字符,很少超过 80 字符。 2)2)基本要求基本要求 实现以下 4 条基本编辑命令: (1) 行插入。格式:i 将插入活区中第行之后 1 3 (2)行删除。格式:d 删除活区中第行(到第行)。两种格式的例子是:“d10”和 “d1014” (3)活区切换。格式:n 将活区写入输出文件,并从输入文件中读入下一段,作为新的活
4、区。 (4)活区显示。格式:p 逐页地(每页 20 行)显示活区内容,每显示一页之后请用户决定是否继续显示以后各页(如 果存在)。印出的每一行要前置以行号和一个空格符,行号固定占 4 位,增量为 1。 各条命令中的行号均须在活区中各行行号范围之内,只有插入命令的行号可以等于活区第一行 行号减 1,表示插入当前屏幕中第一行之前,否则命令参数非法。 3)3)测试数据测试数据 由学生依据软件工程的测试技术自己确定。注意测试边界数据,如首行、尾行。 4)4)实现提示实现提示 (1) 设活区的大小用行数 activemaxlen(可设为 100)来描述。考虑到文本文件行长通常为 正态分布,且峰值在 60 到 70 之间,用 320activemaxlen 大小的字符数组实现存储将造成大量浪 费。可以以标准行块为单位为各行分配存储,每个标准行块含 81 个字符。这些行块可以组成一个数 组, 也可以利用动态链表连接起来。 一行文字可能占多个行块。 行尾可用一个特殊的 ASCII 字符 (如 (0