数据结构课程设计小型文本编辑器的设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学
课程设计报告
课程设计名称:数据结构课程设计
课程设计题目:小型文本编辑器的设计
院(系):计算机学院
专业:
班级:
学号:
姓名:
指导教师:
目录
沈阳航空航天大学.................................................... I 1 程序模块说明.. (2)
1.1程序模块 (2)
1.2模块功能说明 (2)
2 程序流程图说明 (3)
2.1主函数流程图 (3)
2.2显示模块流程图 (4)
2.3查找模块流程图 (5)
2.4替换模块流程图. (6)
2.5将文本初始化 (7)
3 函数的描述 (8)
3.1串的初始化 (8)
3.2查找函数 (8)
3.3 替换函数 (8)
3.4 串的块链存储 (8)
4 程序测试和运行的结果 (9)
4.1初始化一个串 (9)
4.1.1 (9)
4.1.2. (9)
4.2查找与替换字符串 (9)
4.2.1 (9)
4.2.2 (10)
4.2.3 (10)
4.2.4 (10)
4.2.5 (10)
4.2.6 (11)
参考文献 (12)
附录(关键部分程序清单) (13)
查找和替换函数 (13)
生成一个其值等于CHARS的串T,成功返回1,否则返回0 (15)
输出字符串T (17)
源代码 (19)
1 程序模块说明
1.1 程序模块
为了更方便地完成字符串的查找,此程序采用串的块链式存储结构存储方式。通过主模块调用四个小模块完成文本编辑的各种功能。用户可在主模块上循环对程序进行操作。
1.2 模块功能说明
1.主模块:用户可编辑任一文档,输入要在文本中查找的信息。初始化一个字符串,并用串的块链式存储结构存储。
2. 编辑文本信息:将用户编辑的文本信息分行输出来,并输出字符串的长度和行数。
3.查找模块:遍历整个文本,查找字符串在串中的位置,并输出其所在位置,直到遍历完整个文本结束。
4.替换模块:先查找你要替换的字符所在位置,然后根据用户选择是否替换该字符。
5.退出模块:退出程序,等待用户下次重行运行该程序。
2 程序流程图说明
2.1 主函数流程图
图2.1.主程序流程图
用户可根据此函数输入想要进行的操作来实现其相应的编辑文本信息、查找字符在文本中的所在位置、替换文本中的字符串及查看当前文本的字符数以及行数的信息等一系列功能。详见图2.1.
2.2 显示模块流程图
图2.2显示模块流程图
此模块主要实现用户所编辑的文本信息的行数和字符总个数,以及输出文本的字符信息。显示出用户所编辑的文本信息,并输出到屏幕上,为满足用户需求,此模块可循环操作。详见流程图2.2。
2.3 查找模块流程图
图2.3 查找流程图
此模块主要是完成字符串的查找以及替换文本中的字符信息等功能。查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,比较下一个字符,否则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且在想后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一直循环到将文本中信息读完为止,详见流程图2.3。
2.4 替换模块流程图.
图2.4. 替换流程图
此模块主要是完成字符串的查找以及替换文本中的字符信息等功能。查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,比较下一个字符,否则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且在想后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一直循环到将文本中信息读完为止。替换功能是在查找的基础上进行的,即也就是先查找到要替换的词的位置,然后根据用户选择在此位置是否替换,同样也是一直循环到读完整个文本信息为止。详见流程图2。4。
2.5 将文本初始化
图2.5 初始化文本信息
将文本信息初始化到用块链式存储的串中
3 函数的描述
3.1 串的初始化
初始化一个空串,然后将输入的文本信息存储到此串中,因为这是采用的块链式存储,用户可以自定义行的大小即一个节点存储的字符串个数,所申请的总的节点数也就是字符的行数。
3.2 查找函数
查找字符串主要是通过将所查找的字符串和主串开始从第一个字符开始比较,如果相同,用for循环比较下一个字符,不同则将指向当前字符串中的字符指针向前移动已比较字符个数个单位,并且再向后移一个字符,然后再从头开始和和所查找字符穿一一比较。查找成功则返回字符所在位置并输出,接着继续进行下一轮查找,一直循环到将文本中信息读完为止。
3.3 替换函数
替换功能是在查找的基础上进行的,即也就是先查找到要替换的词的位置,然后根据用户选择在此位置是否替换,若需替换,则进入for循环完成替换,然后再通过比较查找到下一个需替换的位置,同样也是一直循环到读完整个文本信息为止。
3.4 串的块链存储
采用串的块链式存储的优点是用户可根据自已的实际需要来定义每个节点的大小,这样可减少空间浪费,除此之外,链式存储还方便查找。×
4 程序测试和运行的结果
为方便查阅,所以选一串比较短的字符串为例,以英文字符“ABCDEFGHIJKLMN”为例,来实现下面的所有功能
4.1 初始化一个串
4.1.1首先用户可输入用户所需要的文本信息,如“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进行查找×××