收藏 分享(赏)

数据结构-课程设计_串的查找与替换.doc

上传人:hwpkd79526 文档编号:6507219 上传时间:2019-04-14 格式:DOC 页数:7 大小:87.50KB
下载 相关 举报
数据结构-课程设计_串的查找与替换.doc_第1页
第1页 / 共7页
数据结构-课程设计_串的查找与替换.doc_第2页
第2页 / 共7页
数据结构-课程设计_串的查找与替换.doc_第3页
第3页 / 共7页
数据结构-课程设计_串的查找与替换.doc_第4页
第4页 / 共7页
数据结构-课程设计_串的查找与替换.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、数据结构课程设计串的查找与替换一、 问题陈述:二、 需求分析:三、 概要设计和详细设计:四、 程序代码:五、 结果与测试:六、体会与总结:一、问题陈述:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。设计要求:(1) 符合课题要求,实现相应功能;(2) 操作方便易行;(3) 注意程序的实用性、安全性;二、需求分析:串的查找与替换要实现的功能是:打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。首先实现程序比较简单的功能,即:输入要替换的单词和给定单词 gets(keyWords); gets(copy

2、Words)。然后实现程序打开文件的功能。最后编写最核心的替换功能,首先用关键字来匹配要查找的单词,第一个单词匹配上的话再判断这个关键字在不在单词的首字母上,否则不匹配,主要是要实现替换单词的功能不替换其他单词中的字符串。然后匹配第二个字母,这样一次类推的判断。1不匹配的单词直接放入 strTwo 数组中,匹配的单词先替换然后再放入 strTwo 数组中。三、概要设计和详细设计: 程序头设计对程序作简单介绍以及输出程序制作人的基本信息。main()printf(“nnnttt 数据结构课程设计n“);printf(“nttt 题目:串的查找与替换n“);printf(“nttt 专业:信息管理

3、与信息系统n“);printf(“nttt 学号:2013143129n“);printf(“nttt 姓名:张朝翔“);printf(“nt 程序作用:打开一篇英语作文,在该文章中找出所有给定的单词,然后对nt 所有给定的单词替换为另一个单词再存盘。“);printf(“n*n“); 主函数 void main()通过 for 循环对字符串进行匹配,找到匹配的单词然后将 copy 的单词字符放入 strTwo数组中,不匹配的单词也放入数组 strTwo 中完成替换,最后把 strTwo 中的字符放回文件中完成操作。5程序代码:#include #include #define SIZE 20

4、 /* 查找单词字符和输入替换单词少于 20 */#define MAXLEN 10000 /* 文章字符不大于 10000 */void main()int i, j;int flag; /* 用于标记匹配单词 */2int countFlag; /* 用于检查匹配计数 */int countOne = 0; /* 记录未改文章字符个数 */int countTwo = 0; /* 记录改后文章字符个数 */char keyWordsSIZE; /* 查找单词 */char copyWordsSIZE;/* 替换单词 */char strOneMAXLEN; /* 将未改文章的所有字符储存在

5、里面 */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 *

6、fp;printf(“请输入要查找的单词: “);gets(keyWords);printf(“请输入要替换的单词: “);gets(copyWords);printf(“请输入要打开的文件名:“);scanf(“%s“,filename);if (fp = fopen(filename, “r“) =NULL )/* 读文件,前边的就是输入的文件名,后边是指只读 read */3printf(“文件打开失败!n“);exit(0);while (!feof(fp)/* 读文件 */strOnecountOne+ = fgetc(fp);/*这是从指定稳中取得一个字符 strOnecountO

7、ne+ = fgets(fp);这是从指定文章中取得一个字符串*/countOne-;/* 减去最后一个文件结束字符 */for (i=0; icountOne; i+)if (keyWords0 = strOnei)/* 判断查找单词第一个字符是否匹配 */if ( = strOnei-1) | (n = strOnei-1) | (0 = i)/* 1.检查单词前的一个字符 */flag = 1;countFlag = i + 1;for (j=1; keyWordsj!=0; j+) if (keyWordsj != strOnecountFlag+)/* 是否匹配 */ flag =

8、0;break; if ( = strOnecountFlag) | (n = strOnecountFlag) | (EOF = strOnecountFlag)/* 2.检查单词后的一个字符 */4if (1 = flag)/* 若匹配,则进行拷贝 */ i = countFlag-1;for (j=0; copyWordsj!=0; j+) strTwocountTwo+ = copyWordsj; else/* 另外 */strTwocountTwo+ = strOnei;else/* 另外 */strTwocountTwo+ = strOnei;else/* 另外 */strTwoc

9、ountTwo+ = strOnei; fclose(fp);if (fp = fopen(“filename“, “w“) =NULL )/* 写入文件 */printf(“文件打开失败!n“);5exit(1);for (i=0; icountTwo; i+)/* 写入文件 */fputc(strTwoi, fp);fclose(fp);五、结果与测试:图 1 程序开始的界面图 2 输入要查找和替换的单词6图 3 输入要打开的文件名六、体会与总结:心得:通过这次做课程设计,发现了学习中的很多问题,平时学习的东西在做起来时有很大的困难,独立构思一个程序很难,不像平时看程序一样简单。想出来程序结构后,就一个简单的打开文件就费了好大的劲,运行几次都出现了异常,最后找学长请教才学会使用 exit()命令。核心程序就更复杂了,做了很久都没头绪,最后在一位学长的辅助下完成了核心程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 课程设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报