1、 数据结构课程设计串的查找与替换 一、一、 问题陈述:问题陈述: 二、二、 需求分析:需求分析: 三、三、 概要设计和详细设计:概要设计和详细设计: 四、四、 程序代码:程序代码: 五、五、 结果与测试:结果与测试: 六、六、体会与总结:体会与总结: 一、问题陈述:一、问题陈述: 打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另 外一个单词,再存盘。 设计要求: (1) 符合课题要求,实现相应功能; (2) 操作方便易行; (3) 注意程序的实用性、安全性; 二、需求分析:二、需求分析: 串的查找与替换要实现的功能是:打开一篇英文文章,在该文章中找出所有给定的 单词
2、,然后对所有给定的单词替换为另外一个单词,再存盘。 首先实现程序比较简单的功能, 即: 输入要替换的单词和给定单词 gets(keyWords); gets(copyWords)。 然后实现程序打开文件的功能。 最后编写最核心的替换功能,首先用关键字来匹配要查找的单词,第一个单词匹配 上的话再判断这个关键字在不在单词的首字母上,否则不匹配,主要是要实现替换单词 的功能不替换其他单词中的字符串。然后匹配第二个字母,这样一次类推的判断。不匹 1 配的单词直接放入 strTwo 数组中,匹配的单词先替换然后再放入 strTwo 数组中。 三、概要设计三、概要设计和详细设计:和详细设计: 程序头设计
3、对程序作简单介绍以及输出程序制作人的基本信息。 main() printf(“nnnttt 数据结构课程设计n“); printf(“nttt 题目:串的查找与替换n“); printf(“nttt 专业:信息管理与信息系统n“); printf(“nttt 学号:2013143129n“); printf(“nttt 姓名:张朝翔“); printf(“nt 程序作用:打开一篇英语作文,在该文章中找出所有给定的单词,然后 对nt 所有给定的单词替换为另一个单词再存盘。“); printf(“n*n“); 主函数 void main() 通过 for 循环对字符串进行匹配,找到匹配的单词然后将
4、 copy 的单词字符放入 strTwo 数组中,不匹配的单词也放入数组 strTwo 中完成替换,最后把 strTwo 中的字符放回文 件中完成操作。 5 5程序代码:程序代码: #include #include #define SIZE 20 /* 查找单词字符和输入替换单词少于 20 */ #define MAXLEN 10000 /* 文章字符不大于 10000 */ void main() int i, j; int flag; /* 用于标记匹配单词 */ int countFlag; /* 用于检查匹配计数 */ 2 int countOne = 0; /* 记录未改文章字符个
5、数 */ int countTwo = 0; /* 记录改后文章字符个数 */ char keyWordsSIZE; /* 查找单词 */ char copyWordsSIZE;/* 替换单词 */ char strOneMAXLEN; /* 将未改文章的所有字符储存在里面 */ char strTwoMAXLEN; /* 将改后文章的所有字符储存在里面 */ char filename20; /*输入的文件名的字符个数*/ printf(“nnnttt 数据结构课程设计n“); printf(“nttt 题目:串的查找与替换n“); printf(“nttt 专业:信息管理与信息系统n“); printf(“nttt 学号:2013143129n“); printf(“nttt 姓名:张朝翔“); printf(“nt 程序作用:打开一篇英语作文,在该文章中找出所有给定的单词,然后 对nt 所有给定的单词替换为另一个单词再存盘。“); printf(“n* *n“); FILE *fp; printf(“请输入要查找的单词: “); gets(keyWords); printf(“请输入要替换的单词: “); gets(copyWords); printf(“请输入要打开的文件名:“); scanf(“%s“,f