- 24
- 0
- 约8.71千字
- 约 17页
- 2021-03-25 发布于山东
- 举报
电子信息工程学院
课程设计报告
设计名称:
姓 名:
专业班级:
系 (院):
设计时间:
设计地点:
指导教师评语:
数据结构课程设计
简单行编辑程序
学 号:
电子信息工程学院
EDA 实验室
成绩:
签名:
年 月 日
数据结构课程设计报告 第 1 页,共 15 页
1.课程设计目的
1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程
序求解指定问题。
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。
2.课程设计任务与要求:
任务
问题描述:
文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修
改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。
被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法即不经济,又不总
能实现。一种解决方法是逐段的编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按
这种方法实现一个简单的行编辑程序,设文件每行不超过 320 个字符,很少超过 80 个字符。
要求:
实现以下 4 条基本的编辑命令:
行插入。格式: i 行号 回车 文本 . 回车 将文本 插入活区中第 行号 行之后。
行删除。格式: d行号 1[ 空格 行号 2.] 回车 例如
删除活区中第 行号 1行(到第 行号 2行)。例如:例如:“ d10┛”和 d1014┛”。
活区切换。格式: n回车
将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。
活区显示。格式: p回车
逐页地(每页 20 行)显示活区内容,在每显示的一页之后请用户决定是否继续显示以后各页
(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占 4 位,增量为 1。
各条命令中的行号均须在活区中各行号范围之内,只有插入命令的行号可以等于活区第一行行号减一,表示插入当前的屏幕中第一行之前,否则命令参数非法。
数据结构课程设计报告 第 2 页,共 15 页
3.课程设计说明书
一 需求分析
1)、被编译的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法既不经济,也不总能实现。任何时刻只把待编辑文件的一段放在内存,称为活区。
2)、活区的大小用行数 ActiveMaxLen (可设为 100)来描述。可以以标准行块为单位为各行分配存储,每个标准行块可含 81 个行块。
3)、将输入文件中的内容的 ActiveMaxLen – x( x 由用户自己定义)行的内容读入活区中。然后分别对活区中的内容进行编辑。
4)、分别实现各命令的函数,然后对客户的需求实行相应的操作。对命令格式不正确的进行处理。
二 概要设计
ADT line{
基本操作:
enter(linenum)
初始条件:有内存。
操作结果: linenum +1.
delete_text( )
初始条件: line 存在。
操作结果:若删除的最后一行,则直接删除。
若删除中间一行,则后面的 linenum -1 。
Load( )
初始条件:存在文件 file
操作结果:打开文件。
} ADT line
详细设计
1)将文本插在指定行端部
enter(int linenum)
{
struct line *info;
for(;;)
{
info=(struct line *)malloc(sizeof(struct line));
if(!info)
{
数据结构课程设计报告 第 3 页,共 15 页
printf(\t! 内存不够! \n);
return(NULL);
}
printf(%d:,linenum);
gets(info-text);
info-num=linenum;
if(*info-text)
{
if(find(linenum)) patchup(linenum,1);
if(*info-text) start=dls_store(info);
}
else break;
linenum++;
}
return(linenum);
}
2)删除一行
void delete_text()
{
struct line
*info;
char s[80];
int linenum;
printf(\tlinenum
:);
gets(s);
linenum=atoi(s);
info=find(linenum);
if(info)
{
if(start==info)
{
start=info-next;
if(
您可能关注的文档
最近下载
- 高考数学考点与题型全归纳.docx VIP
- (高清版)-B-T 30146-2023 安全与韧性 业务连续性管理体系 要求.pdf VIP
- 高考数学考点题型全归纳.pdf VIP
- 2026年度黑龙江省交通运输厅所属事业单位公开招聘工作人员86人备考题库带答案详解(完整版).docx
- 2026年01月20日路易达孚(青岛)粮油食路易达孚食品科技产业中心青岛董家口一期项目董家口港区港润大道以东、纬十四路以北.pdf VIP
- 【高中物理】题型全总结(16专题),详细总结与归类!.pdf VIP
- 安徽师大附中2026届高二化学第一学期期末综合测试试题含答案.doc
- 化学元素读音及顺口溜大全.doc VIP
- 成都市固体废弃物卫生处置场三期工程环评报告书小.pdf VIP
- 新编英语教程4(第三版)李观仪习题答案.pdf
原创力文档

文档评论(0)