数据结构-串的查找与替换不会源程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计

———串的查找与替换、

目录

(一)设计思路 (1)

(二)问题描述 (1)

(三)内容要求 (1)

(四)设计目的 (1)

(五)设计实现 (5)

(六)设计调试 (10)

(七)设计总结 (15)

(八)参考文献 (15)

(一)设计目的

数据结构课程设计的目的是:通过设计掌握数据结构课程中学到的基本理论和算法并综合运用于解决实际问题中,它是理论与实践相结合的重要过程。设计要求会如何对实际问题定义相关数据结构,并采用恰当的设计方法和算法解决问题,同时训练学生进行复杂程序设计的技能和培养良好的程序设计习惯。

(二)问题描述:

打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。

(三)内容要求:

1.根据题目要求进行需求分析,分析出该项任务的主要功能和设计重点。

2.根据需求分析的内容划分模块

3.进行程序设计

(四)设计思路

计算机上的非数值处理的对象基本上上字符串数据,字符串一般简称为串。串(string)是由零个或多个字符组成的有限序列,一般记为s=`a1a2…an`(n 大于零)。通常称字符在序列中的序号为该字符在串中的位置,子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。当两个串的每个字符都相等时(串值相等),称这两个串是相等的。

在子串的查找定位过程中,分别利用计数指针j和k指示被替换串和替换串中当前正待比较的字符位置。所用算法的基本思想是:首先利用指针i来完成被替换串和替换串在文本中的遍历,从被替换串和替换串的第一个字符起进行比较,若相等则继续逐个比较后续字符;否则完成一次比较,指针i递增进行下一次的比较。以此类推,直至匹配成功。

现根据问题描述作如下分析:

首先利用标准库函数fopen()打开一个文件,然后从文件中读取字符串保

存到数组中,完成文件的读入。其次,根据键盘输入的选择命令(数字1~4)程序调用不同功能模块来完成相应的操作。

本设计所采用的数据结构

char String[65535]; //长度要大于输入文本文件的长度!

char findString[50]; //输入的要查找的字符

char replaceString[50]; //输入的替换后的string

程序中各部分功能函数:

void InitStr()/*从文件初始化数组*/;

void InputReplaceChar()/*输入要替换的字符串*/;

int FindString()/*查找第一个出现要查找字符的下标*/;

void FindStrings()/*查看文章中共有多少个要查找的字符*/;

void Insert(char source[],int index,char target[])/*从指定的下标开始插入target数组中的元素*/;

void Replace()/*将String中要替换的内容替换掉*/;

void Save()/*保存修改后的文章信息*/;

void Menu()/*程序主菜单*/。

程序中用户选择命令(数字1~4)设置:

“1”:文本文件显示;

“2”:子串查找;

“3”:子串替换;

“4”:退出整个程序。

程序设计流程图如图(一)所示:

图(一)程序流程图

程序运行后显示主菜单,提示用户根据需要选择不同的命令操作。程序根据键盘输入的选择命令(数字1~4)调用不同功能模块来完成相应的操作。如果用户输入的命令是“1”,主函数调用InitStr()函数从文件进行初始化数组,利用标准输入函数将该数组输出到标准输出上;如果用户输入的命令是“2”,主函数调用FindStrings()函数查找匹配的字符串并连同匹配的字符串个数一并输出到标准输出上;如果用户输入的命令是“3”,主函数调用Replace()函数,将String中要替换的内容替换掉;如果用户输入的命令是“4”,程序自动退出。

(五)设计实现

程序中所用数据结构定义:

char String[65535]; //长度要大于输入文本文件的长度!

char findString[50]; //输入的要查找的字符

char replaceString[50]; //输入的替换后的string

Replace();

break;

case 4:// “4”:退出整个程序

Save();

exit(0);

default:

printf("\n输入错误!\n");

printf("按任意键返回.....\n");

getchar();

} } }

(六)设计调试

程序的开发与调试均在Microsoft Visual C++环境下进行。

首先程序运行后显示程序的主菜单,主菜单命令选择设置“1”:文本文件显示;“2”:子串查找;“3”:子串替换;“4”:退出整个程序。程序根据用户输入的命令(数字1~4)进行相应的操作。

主菜单显示如图(二):

图(二)程序主菜单

在程序主菜单中任意输入命令进行测试。输入命令一,如图(三):

图(三)程序主菜单命令输入一

输入命令一后程序的运行结果:显示文本文件的内容。如图(四):

图(四)程序命令一的运行结果

输入命令二后程序的运行结果:选择命令二,进行字符串的查找测试。从图(六)中可以看到查找后的结果。图中显示出查找到的字符串getchar的数量为3个,并显示查找成功等信息。如图(五)、(六):

相关文档
最新文档