数据结构课程设计-小型文本编辑器的设计.

上传人:最**** 文档编号:117168037 上传时间:2019-11-18 格式:DOCX 页数:24 大小:290.96KB
返回 下载 相关 举报
数据结构课程设计-小型文本编辑器的设计._第1页
第1页 / 共24页
数据结构课程设计-小型文本编辑器的设计._第2页
第2页 / 共24页
数据结构课程设计-小型文本编辑器的设计._第3页
第3页 / 共24页
数据结构课程设计-小型文本编辑器的设计._第4页
第4页 / 共24页
数据结构课程设计-小型文本编辑器的设计._第5页
第5页 / 共24页
点击查看更多>>
资源描述

《数据结构课程设计-小型文本编辑器的设计.》由会员分享,可在线阅读,更多相关《数据结构课程设计-小型文本编辑器的设计.(24页珍藏版)》请在金锄头文库上搜索。

1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:数据结构课程设计课程设计题目:小型文本编辑器的设计院(系):计算机学院专 业: 班 级:学 号:姓 名:指导教师:沈阳航空航天大学课程设计报告目 录沈阳航空航天大学II1 程序模块说明31.1 程序模块31.2 模块功能说明32 程序流程图说明42.1 主函数流程图42.2 显示模块流程图52.3 查找模块流程图62.4 替换模块流程图.72.5 将文本初始化83 函数的描述93.1 串的初始化93.2 查找函数93.3 替换函数93.4 串的块链存储94 程序测试和运行的结果104.1 初始化一个串104.1.1104.1.2104.2 查

2、找与替换字符串104.2.1104.2.2114.2.3114.2.4114.2.5114.2.612参考文献13附 录(关键部分程序清单)14查找和替换函数14生成一个其值等于chars的串T,成功返回1,否则返回016输出字符串T18源代码201 程序模块说明1.1 程序模块为了更方便地完成字符串的查找,此程序采用串的块链式存储结构存储方式。通过主模块调用四个小模块完成文本编辑的各种功能。用户可在主模块上循环对程序进行操作。主模块查找模块替换模块编辑文本信息退出模块1.2 模块功能说明1.主模块:用户可编辑任一文档,输入要在文本中查找的信息。初始化一个字符串,并用串的块链式存储结构存储。2

3、. 编辑文本信息:将用户编辑的文本信息分行输出来,并输出字符串的长度和行数。3.查找模块:遍历整个文本,查找字符串在串中的位置,并输出其所在位置,直到遍历完整个文本结束。4.替换模块:先查找你要替换的字符所在位置,然后根据用户选择是否替换该字符。5.退出模块:退出程序,等待用户下次重行运行该程序。沈阳航空航天大学课程设计报告 2 程序流程图说明2.1 主函数流程图 图2.1.主程序流程图用户可根据此函数输入想要进行的操作来实现其相应的编辑文本信息、查找字符在文本中的所在位置、替换文本中的字符串及查看当前文本的字符数以及行数的信息等一系列功能。详见图2.1.2.2 显示模块流程图图2.2 显示模

4、块流程图此模块主要实现用户所编辑的文本信息的行数和字符总个数,以及输出文本的字符信息。显示出用户所编辑的文本信息,并输出到屏幕上,为满足用户需求,此模块可循环操作。详见流程图2.2。2.3 查找模块流程图 图2.3 查找流程图此模块主要是完成字符串的查找以及替换文本中的字符信息等功能。查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,比较下一个字符,否则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且在想后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一直循环到将文本中信息读完为止,详见流

5、程图2.3。2.4 替换模块流程图. 图2.4. 替换流程图此模块主要是完成字符串的查找以及替换文本中的字符信息等功能。查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,比较下一个字符,否则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且在想后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一直循环到将文本中信息读完为止。替换功能是在查找的基础上进行的,即也就是先查找到要替换的词的位置,然后根据用户选择在此位置是否替换,同样也是一直循环到读完整个文本信息为止。详见流程图2。4。2.5 将文本

6、初始化 图2.5 初始化文本信息将文本信息初始化到用块链式存储的串中沈阳航空航天大学课程设计报告 3 函数的描述3.1 串的初始化初始化一个空串,然后将输入的文本信息存储到此串中,因为这是采用的块链式存储,用户可以自定义行的大小即一个节点存储的字符串个数,所申请的总的节点数也就是字符的行数。3.2 查找函数查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,用for循环比较下一个字符,不同则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且再向后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一

7、直循环到将文本中信息读完为止。3.3 替换函数替换功能是在查找的基础上进行的,即也就是先查找到要替换的词的位置,然后根据用户选择在此位置是否替换,若需替换,则进入for循环完成替换,然后再通过比较查找到下一个需替换的位置,同样也是一直循环到读完整个文本信息为止。3.4 串的块链存储采用串的块链式存储的优点是用户可根据自已的实际需要来定义每个节点的大小,这样可减少空间浪费,除此之外,链式存储还方便查找。沈阳航空航天大学课程设计报告 4 程序测试和运行的结果为方便查阅,所以选一串比较短的字符串为例,以英文字符“ABCDEFGHIJKLMN”为例,来实现下面的所有功能4.1 初始化一个串4.1.1首

8、先用户可输入用户所需要的文本信息,如“ABCDEFGHIJKLMN”程序开始运行界面如图4.1.1所示。 截图4.1.1 初始化一字符串 4.1.2初始化“ABCDEFGHIJKLMN”后,结果如下图4.1.2所示,分行输出文本的字符信息以及文本长度和行数。 截图4.1.2 初始化一字符串4.2 查找与替换字符串4.2.1.编辑完文本后,用户可自定义查找和替换字符,选择查找和替换选项(即第二个选项),;如下图4.2.1所示。根据说明输入指令2进行查找 截图4.2.1查找字符串4.2.2输入你要查找的字符串,以回车结束。如图4.2.2所示。根据提示,输入你要查找的字符,如“L”; 截图4.2.2

9、查找字符串4.2.3输入你需要替换后的的字符,如“S”;详见图4.2.3所示。 截图4.2.3查找字符串4.2.4查找出所查找词在串中的第一个位置,输出该位置并弹出指令用户是否需要替换此位置的词。如图4.2.4所示。 截图4.2.4替换字符串4.2.5根据用户选择,如输入Y;则替换掉该位置的词并接着查找下一个所查找字符的所在位置或查找结束,如图4.2.5所示。 截图4.2.5替换字符串4.2.6若用户不需要替换该位置的字符,输入“N”程序将跳过该位置替换直接进入下一轮查找。如图4.2.6所示。 截图4.2.6 不替换字符串回到主程序,查找下一个字符,或继续进行下一轮操作。参考文献1 高富平,张

10、楚 . 电子商务法M. 北京:北京大学出版社,20022谭浩强著. C程序设计( 第三版). 北京: 清华大学出版社,20053数据结构: C语言版 /严蔚敏,吴伟明编著.北京:清华大学出版社,2007沈阳航空航天大学课程设计报告 附 录(关键部分程序清单)查找和替换函数void chazhao(LString *T,char *chars,char *chars1)/所查找字符和替换后的字符Chunk *p,*q;int m=0,c=0,a=1,b=0,d=0,a1=0,c1=0,c2=0,x=0;char u;p=q=T-head;while(1)if(c=CHUNKSIZE)q=q-ne

11、xt;a+;c=0;for(x=0;q-chc=charsm;x+)m+;c+;if(x=0)b=a;d=c-1;if(c=CHUNKSIZE)q=q-next;c=0;if(charsm=0)/字符查完printf(所查字符所在行位置是%d,第%d个位置开始n,b,d+1); printf(若需替换该字符,输入Y,否则输入Nn); scanf(%c,&u);fflush(stdin); if(u!=N)p=T-head; a=b;c=d; for(a1=1;a1next;q=p; for(;c1next; c=0; q-chc=chars1c2;c2+;c+;c2=0;c1=0; StrPrint(*T);/替换完毕 c=d;a=b;if(!*(q-ch+c+1+m)/串查完/ printf(查找完成,已无匹配字符n);break;elsep=T-head;for(a1=1;a1next;q=p;c=c+1;m=0;生成一个其值等于chars的串T,成功返回1,否则返回0 int StrAssign(LString *T,char *chars)int i,j,k,l,m=0;Chunk *p,*q;i=strlen(chars); / i为串的长度 if(!i)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号