简易文本编辑器课程设计报告.doc
24页1、中北大学数 据 结 构课 程 设 计 说 明 书学生姓名:张兴凯学 号:1021011547学 院:软件学院专 业:软件工程题 目: 简易文本编辑器成绩指导教师何志英2011年12月20日 1设计目的简易文本编辑器2设计内容和要求1)具有图形菜单界面;2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除3)可正确存盘、取盘;4)正确显示总行数。3本设计所采用的数据结构 本程序是对输入的文字进行操作,故使用的数据结构为单链表操作线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素。它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。另有全局变量*head,作为文章的头指针。 在文章内容创建部分中使用线性表的链式存储,并使用全局变量对文本的各种信息进行存储; 文章的内容统计、删除、查找、插入都采用链表操作完成。4功能模块详细设计4.1 详细设计思想本程序所定义函数的设计思想:CreatWord()文本内容输入函数定义LinkList指针变量*temp: LinkList *temp;定义文本输入变量ch
2、,记录文本行数变量j,记录每行字符数变量i;申请动态存储空间:head-next=(LinkList *)malloc(sizeof(LinkList);首行头指针的前驱指针为空:head-pre=NULL;利用循环进行文本输入PrintWord()当前文本输出函数定义文本行数变量j,每行字符数i:int i,j;定义指针变量:LinkList *p;将指针p指向链表表头: p=head-next;利用循环输出链表中信息: for(j=0;j=NUM&p!=NULL;j+)=for(i=0;(idatai)!=#;i+)=printf(%c,p-datai);p=p-next; SearchWord( ) 文本内容查找函数定义一个数组,用来记录需要查找的字符内容:char Data20;定义定义文本行数变量j,每行字符数i,记录字符出现的次数变量:利用循环进行查找操作,核心算法为:if(temp-datai)=Datak) k+;/将输入的查找字符与链表中信息比较,找到第一个相同的字符 else if(Datak!=0)i=i-k; k=0; / /从主串第i-k个位置重新查找 if(
3、Datak=0) sum+;/此字符出现的次数加1 i=i-k+1; /i记录下该字符串出现的位置 printf(tt第%d次出现在第%d行第%d列n,l,j+1,i); l+; k=0;continue; temp=temp-next; /指向下一行DeleteWord( ) 文本内容删除函数定义一个数组用来存储需要删除的字符或者字符串:char Data20;定义指针变量:LinkList *temp,*term;使用VC+中拷贝函数讲形参中需要删除的字符或字符串赋值给已定义的数组:strcpy(Data,str2);使用循环进行删除操作:其核心算法为:for(j=0;j=NUM;j+) for(i=0;idatai)=Datak) k+; else if(Datak!=0) i=i-k;k=0; if(Datak=0) num=i;break; if(num80) break; 首先是使用循环查找到需要删除字符或者字符串的字符数以及字符或者字符串的位置,以便于删除; for(;j=NUM;j+) for(;i80;i+) if(i+1data80-k+num=temp-datai
《简易文本编辑器课程设计报告.doc》由会员M****1分享,可在线阅读,更多相关《简易文本编辑器课程设计报告.doc》请在金锄头文库上搜索。
二年级上册长度单位练习题.doc
大学英语新四级700核心词汇.doc
幼儿园儿歌大全(4).docx
6.小数乘小数(1)4.doc
3英语-2015届高三上学期第一次月考英语试题.doc
20XX年在食品厂实习报告.docx
协会财务管理制度(9篇).doc
小学一年级音乐.doc
水资源利用与保护总结试卷教案.doc
提高课堂实效性总结.doc
《二战后苏联的经济改革》教学设计.docx
《计算机网络实验指导书》.DOC
简单的象数疗法念数字治大病.doc
会计证考试《会计电算化》最新题库汇总.doc
屋面防水质量保证措施.doc
幼儿园小班班主任工作计划
母亲节母亲写给孩子的一封信母亲节写给老婆的一封信.docx
父亲节中英文演讲稿范文
(完整)高血压病历
2023年学校防汛工作计划.docx
2023-09-09 53页
2023-12-01 17页
2023-01-11 22页
2023-12-17 8页
2023-06-15 33页
2023-06-17 14页
2023-10-25 5页
2023-01-10 3页
2022-09-28 12页
2023-03-11 27页