文档介绍:数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
学 号
数据结构课程设计
设计说明书
简单行编辑程序
起止日期: 2011年 12月 12 日 至 2011 年 12月16日
学生姓名
班级
成绩
指导教师(签字)
电子与信息工程系
2011年 12月16日
ﻬ
天津城市建设学院
课程设计任务书
数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
2011—2012学年第1学期
电子与信息工程 系 软件工程 专业 班级
课程设计名称: 数据结构课程设计
设计题目: 简单行编辑程序
完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周
设计依据、要求及主要内容(可另加附页):
一、设计目的
熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求
(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;
(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,,涉及的全部人员皆以零分计入本课程设计成绩;
(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;
(4)认真编写课程设计报告。
三、设计内容
1)问题描述
文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。
被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法既不经济,也不总能实现。一种解决方法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行不超过320个字符,很少超过80字符。
2)基本要求
实现以下4条基本编辑命令:
(1) 行插入。格式:i〈行号><回车><文本><回车〉
数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
数据结构课程设计简单行编辑程序
将<文本>插入活区中第<行号>行之后
(2)行删除。格式:d<行号1〉[□<行号2>]<回车>
删除活区中第<行号1>行(到第〈行号2〉行)。两种格式的例子是:“d10↙”和“d10□14↙”
(3):n<回车>
将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。
(4):p<回车〉
逐页地(每页20行)显示活区内容,每显示一页之后请用户决定是否继续显示以后各页(如果存在)。印出的每一行要前置以行号和一个空格符,行号固定占4位,增量为1。
各条命令中的行号均须在活区中各行行号范围之内,只有插入命令的行号可以等于活区第一行行号减1,表示插入当前屏幕中第一行之前,否则命令参数非法。
3)测试数据
由学生依据软件工程的测试技术自己确定。注意测试边界数据,如首行、***。
4)实现提示
(1) 设活区的大小用行数activemaxlen(可设为100)来描述。考虑到文本文件行长通常为正态分布,且峰值在60到70之间,用320×,,也可以利用动态链表连接起来。一行文字可能占多个行块。行尾可用一个特殊的ASCII字符(如(012)8),。
(2) 初始化过程包括:请用户提供输入文件名(空串表示无输入文件)和输出文件名,两者不能相同。然后尽可能多地从输入文件中读入各行,但不超过activemaxlen-x。x的值可以自定。
(3) 在执行行插入命令的过程中,每接收到一行时到要检查活区大小是否已达activemaxlen。如果是,则为了在插入这一行之后仍保持活区大小不超过activemaxlen,应将插入点之前的活区部分中第一行输出到输出文件中;若插入点为第一行之前,则只得将新插入的这一行输出。
(4) 若输入文件尚未读完,活区切换命令可将原活区中最后几行留在活区顶部,以保持阅读连续性;否则,它意味着结束编辑或开始编辑另一个文件。
(5) 可令前三条命令执行后自