数据结构课程设计说明书--简单行编辑器

数据结构课程设计说明书--简单行编辑器

ID:35628544

大小:136.50 KB

页数:22页

时间:2019-04-03

数据结构课程设计说明书--简单行编辑器_第1页
数据结构课程设计说明书--简单行编辑器_第2页
数据结构课程设计说明书--简单行编辑器_第3页
数据结构课程设计说明书--简单行编辑器_第4页
数据结构课程设计说明书--简单行编辑器_第5页
资源描述:

《数据结构课程设计说明书--简单行编辑器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、中北大学数据结构课程设计说明书学院:电子与计算机科学技术学院专业:网络工程/计算机科学与技术题目:简单行编辑器指导教师:组长姓名:学号组员姓名:学号组员姓名:学号组员姓名:学号组员姓名:学号 2012年8月30日13131.概述11.1设计目的11.2设计目标及要求设计要求11.3设计进度11.4分工12.需求分析及总体设计12.1数据结构12.2功能框架23.功能模块详细设计23.1设计流程23.2主要源代码24.功能模块详细设计24.1设计流程24.2主要源代码3131.概述1.1设计目的被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的作法既不经济,也不总能实现

2、。所以设计这一种以行为单位进行的编辑程序。主要是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。需要用到的数据结构是链表。1.2设计目标及要求设计要求(1)行插入:格式:i<回车><行号><回车><文本><回车>功能:在指定行之后插入一行或几行。(2)行删除:格式:d<回车><行号1>[<空格><行号2>]<回车>功能:在指定行之后插入一行或几行。(3)行替换:格式:i<回车><行号><回车><文本><回车>功能:在指定行之后插入一行或几行。(4)活区切换:格式:n<回车>功能:将活区写入文件,并从文件中读入下一段,作为新的活区。(5)活区显示:格式:p<回车>功能:

3、逐页地(每页20行)显示活区内容,每显示一页之后请用户决定是否继续显示以后备页(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。(6)模式匹配:格式:k<回车><匹配文本><回车>131.3设计进度1》2012.8.20——2012.8.21需求分析2》2012.8.21下午交需求分析,主要分析课题的内容,需要用的数据结构,小组分工情况3》2012.8.22——2012.8.29编写源代码4》2012.8.30完成设计并书写课程设计说明书5》2012.8.31等待老师验收1.4分工薛建明:进行插入功能的编写。丛前:进行删除功能的编写。甘炀:进行活区的切换

4、功能的编写。杨志文:进行活区显示,KMP算法,界面的编写。2.需求分析及总体设计2.1数据结构用到数据结构的双向链表:typedefstructtext{charstring[80];structtext*next;structtext*pre;intflat;}text;简单行编辑系统2.2功能框架行删除编辑行插入退出模式匹配活区切换活区显示13(1)行插入:在指定行之后插入一行或几行。(2)行删除:在指定行之后插入一行或几行。(3)行替换:在指定行之后插入一行或几行。(4)活区切换:将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。(5)活区显示:逐页地(每页20行

5、)显示活区内容,每显示一页之后请用户决定是否继续显示以后备页(如果存在)。印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。(6)模式匹配:在当前活区中查找所要匹配的文本。3.功能模块详细设计3.1设计流程行插入功能:找到要插入的结点对应的指针,然后开辟新的空间,把开辟出的新的空间,与刚才的结点连接,同时再把新节点的指针域只向出入的下一个节点。主要思想:p=(text*)malloc(sizeof(text));//p为新插入节点p->next=p1->next;//p1为要出入结点的p->pre=p1;NYNY开始输入行号插入字符》80结点插入链表结点插入链表新建链

6、表是否为‘#’结束p1->next->pre=p;p1->next=p;3.2主要源代码voidinsert(){inti,j,hang,increhang=1,incre;13chars;text*p,*p1,*p2;printf("(Note:thei-throwinserttextinthei-throw!!Insertedtextin#Pleaseenterthelinenumberfortheendoftheflag):");scanf("%d",&hang);p=p1=NULL;if(hang==0){p=(text*)malloc(sizeof(text));p

7、->flat=1;p->next=head;head->pre=p;head=p;}if(hang!=0){for(i=0,p1=head;inext);//找到要插入行的前一行p=(text*)malloc(sizeof(text));//为插入行分配空间p->flat=1;p->next=p1->next;p->pre=p1;p1->next->pre=p;p1->next=p;}//从此行将插入行插入到链表中p->string[0]=g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。